Source:NetHack 3.3.0/extern.h
Below is the full text to extern.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/extern.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)extern.h 3.3 1999/12/06 */ 2. /* Copyright © Steve Creps, 1988. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #ifndef EXTERN_H 6. #define EXTERN_H 7. 8. #define E extern 9. 10. /* ### alloc.c ### */ 11. 12. #if 0 13. E long *FDECL(alloc, (unsigned int)); 14. #endif 15. E char *FDECL(fmt_ptr, (const genericptr,char *)); 16. 17. /* This next pre-processor directive covers almost the entire file, 18. * interrupted only occasionally to pick up specific functions as needed. */ 19. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 20. 21. /* ### allmain.c ### */ 22. 23. E void NDECL(moveloop); 24. E void NDECL(stop_occupation); 25. E void NDECL(display_gamewindows); 26. E void NDECL(newgame); 27. E void FDECL(welcome, (BOOLEAN_P)); 28. 29. /* ### amiwbench.c ### */ 30. 31. #ifdef AMIGA 32. E void NDECL(ami_wbench_init); 33. E void NDECL(ami_wbench_args); 34. E int FDECL(ami_wbench_getsave, (int)); 35. E void FDECL(ami_wbench_unlink, (char *)); 36. E int FDECL(ami_wbench_iconsize, (char *)); 37. E void FDECL(ami_wbench_iconwrite, (char *)); 38. E int FDECL(ami_wbench_badopt, (const char *)); 39. E void NDECL(ami_wbench_cleanup); 40. E void FDECL(getlind, (const char *,char *,const char *)); 41. #endif /* AMIGA */ 42. 43. /* ### apply.c ### */ 44. 45. E int NDECL(doapply); 46. E int NDECL(dorub); 47. E int NDECL(dojump); 48. E int FDECL(jump, (int)); 49. E int NDECL(number_leashed); 50. E void FDECL(o_unleash, (struct obj *)); 51. E void FDECL(m_unleash, (struct monst *)); 52. E void NDECL(unleash_all); 53. E boolean NDECL(next_to_u); 54. E struct obj *FDECL(get_mleash, (struct monst *)); 55. E void FDECL(check_leash, (XCHAR_P,XCHAR_P)); 56. E boolean FDECL(wield_tool, (struct obj *)); 57. E boolean FDECL(um_dist, (XCHAR_P,XCHAR_P,XCHAR_P)); 58. E boolean FDECL(snuff_candle, (struct obj *)); 59. E boolean FDECL(snuff_lit, (struct obj *)); 60. E void FDECL(use_unicorn_horn, (struct obj *)); 61. E boolean FDECL(tinnable, (struct obj *)); 62. E void NDECL(reset_trapset); 63. E void FDECL(fig_transform, (genericptr_t, long)); 64. 65. /* ### artifact.c ### */ 66. 67. E void NDECL(init_artifacts); 68. E void FDECL(save_artifacts, (int)); 69. E void FDECL(restore_artifacts, (int)); 70. E const char *FDECL(artiname, (int)); 71. E struct obj *FDECL(mk_artifact, (struct obj *,ALIGNTYP_P)); 72. E const char *FDECL(artifact_name, (const char *,short *)); 73. E boolean FDECL(exist_artifact, (int,const char *)); 74. E void FDECL(artifact_exists, (struct obj *,const char *,BOOLEAN_P)); 75. E int NDECL(nartifact_exist); 76. E boolean FDECL(spec_ability, (struct obj *,unsigned long)); 77. E boolean FDECL(restrict_name, (struct obj *,const char *)); 78. E boolean FDECL(defends, (int,struct obj *)); 79. E boolean FDECL(protects, (int,struct obj *)); 80. E void FDECL(set_artifact_intrinsic, (struct obj *,BOOLEAN_P,long)); 81. E int FDECL(touch_artifact, (struct obj *,struct monst *)); 82. E int FDECL(spec_abon, (struct obj *,struct monst *)); 83. E int FDECL(spec_dbon, (struct obj *,struct monst *,int)); 84. E void FDECL(discover_artifact, (XCHAR_P)); 85. E int FDECL(disp_artifact_discoveries, (winid)); 86. E boolean FDECL(artifact_hit, (struct monst *,struct monst *, 87. struct obj *,int *,int)); 88. E int NDECL(doinvoke); 89. E void FDECL(arti_speak, (struct obj *)); 90. 91. /* ### attrib.c ### */ 92. 93. E boolean FDECL(adjattrib, (int,int,int)); 94. E void FDECL(change_luck, (SCHAR_P)); 95. E int FDECL(stone_luck, (BOOLEAN_P)); 96. E void NDECL(set_moreluck); 97. E void FDECL(gainstr, (struct obj *,int)); 98. E void FDECL(losestr, (int)); 99. E void NDECL(restore_attrib); 100. E void FDECL(exercise, (int,BOOLEAN_P)); 101. E void NDECL(exerchk); 102. E void NDECL(reset_attribute_clock); 103. E void FDECL(init_attr, (int)); 104. E void NDECL(redist_attr); 105. E void FDECL(adjabil, (int,int)); 106. E int NDECL(newhp); 107. E schar FDECL(acurr, (int)); 108. E schar NDECL(acurrstr); 109. E void FDECL(adjalign, (int)); 110. 111. /* ### ball.c ### */ 112. 113. E void NDECL(ballfall); 114. E void NDECL(placebc); 115. E void NDECL(unplacebc); 116. E void FDECL(set_bc, (int)); 117. E void FDECL(move_bc, (int,int,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 118. E boolean FDECL(drag_ball, (XCHAR_P,XCHAR_P, 119. int *,xchar *,xchar *,xchar *,xchar *, boolean *)); 120. E void FDECL(drop_ball, (XCHAR_P,XCHAR_P)); 121. E void NDECL(drag_down); 122. 123. /* ### bones.c ### */ 124. 125. E boolean NDECL(can_make_bones); 126. E void NDECL(savebones); 127. E int NDECL(getbones); 128. 129. /* ### botl.c ### */ 130. 131. E int FDECL(xlev_to_rank, (int)); 132. E int FDECL(title_to_mon, (const char *,int *,int *)); 133. E void NDECL(max_rank_sz); 134. #ifdef SCORE_ON_BOTL 135. E long NDECL(botl_score); 136. #endif 137. E const char *FDECL(rank_of, (int,SHORT_P,BOOLEAN_P)); 138. E void NDECL(bot); 139. 140. /* ### cmd.c ### */ 141. 142. #ifdef USE_TRAMPOLI 143. E int NDECL(doextcmd); 144. E int NDECL(domonability); 145. E int NDECL(doprev_message); 146. E int NDECL(timed_occupation); 147. E int NDECL(wiz_attributes); 148. E int NDECL(enter_explore_mode); 149. # ifdef WIZARD 150. E int NDECL(wiz_detect); 151. E int NDECL(wiz_genesis); 152. E int NDECL(wiz_identify); 153. E int NDECL(wiz_level_tele); 154. E int NDECL(wiz_map); 155. E int NDECL(wiz_where); 156. E int NDECL(wiz_wish); 157. # endif /* WIZARD */ 158. #endif /* USE_TRAMPOLI */ 159. E void NDECL(reset_occupations); 160. E void FDECL(set_occupation, (int (*)(void),const char *,int)); 161. #ifdef REDO 162. E char NDECL(pgetchar); 163. E void FDECL(pushch, (CHAR_P)); 164. E void FDECL(savech, (CHAR_P)); 165. #endif 166. #ifdef WIZARD 167. E void NDECL(add_debug_extended_commands); 168. #endif /* WIZARD */ 169. E void FDECL(rhack, (char *)); 170. E int NDECL(doextlist); 171. E int NDECL(extcmd_via_menu); 172. E void FDECL(enlightenment, (int)); 173. E void FDECL(show_conduct, (int)); 174. E int FDECL(xytod, (SCHAR_P,SCHAR_P)); 175. E void FDECL(dtoxy, (coord *,int)); 176. E int FDECL(movecmd, (CHAR_P)); 177. E int FDECL(getdir, (const char *)); 178. E void NDECL(confdir); 179. E int FDECL(isok, (int,int)); 180. E int FDECL(click_to_cmd, (int,int,int)); 181. E char NDECL(readchar); 182. #ifdef WIZARD 183. E void NDECL(sanity_check); 184. #endif 185. 186. /* ### dbridge.c ### */ 187. 188. E boolean FDECL(is_pool, (int,int)); 189. E boolean FDECL(is_lava, (int,int)); 190. E boolean FDECL(is_ice, (int,int)); 191. E int FDECL(is_drawbridge_wall, (int,int)); 192. E boolean FDECL(is_db_wall, (int,int)); 193. E boolean FDECL(find_drawbridge, (int *,int*)); 194. E boolean FDECL(create_drawbridge, (int,int,int,BOOLEAN_P)); 195. E void FDECL(open_drawbridge, (int,int)); 196. E void FDECL(close_drawbridge, (int,int)); 197. E void FDECL(destroy_drawbridge, (int,int)); 198. 199. /* ### decl.c ### */ 200. 201. E void NDECL(decl_init); 202. 203. /* ### detect.c ### */ 204. 205. E struct obj *FDECL(o_in, (struct obj*,CHAR_P)); 206. E int FDECL(gold_detect, (struct obj *)); 207. E int FDECL(food_detect, (struct obj *)); 208. E int FDECL(object_detect, (struct obj *,int)); 209. E int FDECL(monster_detect, (struct obj *,int)); 210. E int FDECL(trap_detect, (struct obj *)); 211. E const char *FDECL(level_distance, (d_level *)); 212. E void FDECL(use_crystal_ball, (struct obj *)); 213. E void NDECL(do_mapping); 214. E void NDECL(do_vicinity_map); 215. E void FDECL(cvt_sdoor_to_door, (struct rm *)); 216. #ifdef USE_TRAMPOLI 217. E void FDECL(findone, (int,int,genericptr_t)); 218. E void FDECL(openone, (int,int,genericptr_t)); 219. #endif 220. E int NDECL(findit); 221. E int NDECL(openit); 222. E void FDECL(find_trap, (struct trap *)); 223. E int FDECL(dosearch0, (int)); 224. E int NDECL(dosearch); 225. E void NDECL(sokoban_detect); 226. 227. /* ### dig.c ### */ 228. 229. #ifdef USE_TRAMPOLI 230. E int NDECL(dig); 231. #endif 232. E int NDECL(holetime); 233. E boolean FDECL(dig_check, (struct monst *, BOOLEAN_P, int, int)); 234. E void FDECL(digactualhole, (int,int,struct monst *,int)); 235. E boolean FDECL(dighole, (BOOLEAN_P)); 236. E int FDECL(use_pick_axe, (struct obj *)); 237. E boolean FDECL(mdig_tunnel, (struct monst *)); 238. E void NDECL(zap_dig); 239. E struct obj *FDECL(bury_an_obj, (struct obj *)); 240. E void FDECL(bury_objs, (int,int)); 241. E void FDECL(unearth_objs, (int,int)); 242. E void FDECL(rot_organic, (genericptr_t, long)); 243. E void FDECL(rot_corpse, (genericptr_t, long)); 244. #if 0 245. E void FDECL(bury_monst, (struct monst *)); 246. E void NDECL(bury_you); 247. E void NDECL(unearth_you); 248. E void NDECL(escape_tomb); 249. E void FDECL(bury_obj, (struct obj *)); 250. #endif 251. 252. /* ### display.c ### */ 253. 254. #ifdef INVISIBLE_OBJECTS 255. E struct obj * FDECL(vobj_at, (XCHAR_P,XCHAR_P)); 256. #endif /* INVISIBLE_OBJECTS */ 257. E void FDECL(map_background, (XCHAR_P,XCHAR_P,int)); 258. E void FDECL(map_trap, (struct trap *,int)); 259. E void FDECL(map_object, (struct obj *,int)); 260. E void FDECL(map_invisible, (XCHAR_P,XCHAR_P)); 261. E void FDECL(unmap_object, (int,int)); 262. E void FDECL(map_location, (int,int,int)); 263. E void FDECL(feel_location, (XCHAR_P,XCHAR_P)); 264. E void FDECL(newsym, (int,int)); 265. E void FDECL(shieldeff, (XCHAR_P,XCHAR_P)); 266. E void FDECL(tmp_at, (int,int)); 267. E void FDECL(swallowed, (int)); 268. E void FDECL(under_ground, (int)); 269. E void FDECL(under_water, (int)); 270. E void NDECL(see_monsters); 271. E void NDECL(set_mimic_blocking); 272. E void NDECL(see_objects); 273. E void NDECL(see_traps); 274. E void NDECL(curs_on_u); 275. E int NDECL(doredraw); 276. E void NDECL(docrt); 277. E void FDECL(show_glyph, (int,int,int)); 278. E void NDECL(clear_glyph_buffer); 279. E void FDECL(row_refresh, (int,int,int)); 280. E void NDECL(cls); 281. E void FDECL(flush_screen, (int)); 282. E int FDECL(back_to_glyph, (XCHAR_P,XCHAR_P)); 283. E int FDECL(zapdir_to_glyph, (int,int,int)); 284. E int FDECL(glyph_at, (XCHAR_P,XCHAR_P)); 285. E void NDECL(set_wall_state); 286. 287. /* ### do.c ### */ 288. 289. #ifdef USE_TRAMPOLI 290. E int FDECL(drop, (struct obj *)); 291. E int NDECL(wipeoff); 292. #endif 293. E int NDECL(dodrop); 294. E boolean FDECL(boulder_hits_pool, (struct obj *,int,int,BOOLEAN_P)); 295. E boolean FDECL(flooreffects, (struct obj *,int,int,const char *)); 296. E void FDECL(doaltarobj, (struct obj *)); 297. E boolean FDECL(canletgo, (struct obj *,const char *)); 298. E void FDECL(dropx, (struct obj *)); 299. E void FDECL(dropy, (struct obj *)); 300. E int NDECL(doddrop); 301. E int NDECL(dodown); 302. E int NDECL(doup); 303. #ifdef INSURANCE 304. E void NDECL(save_currentstate); 305. #endif 306. E void FDECL(goto_level, (d_level *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 307. E void FDECL(schedule_goto, (d_level *,BOOLEAN_P,BOOLEAN_P,int, 308. const char *,const char *)); 309. E void NDECL(deferred_goto); 310. E boolean FDECL(revive_corpse, (struct obj *)); 311. E void FDECL(revive_mon, (genericptr_t, long)); 312. E int NDECL(donull); 313. E int NDECL(dowipe); 314. E void FDECL(set_wounded_legs, (long,int)); 315. E void NDECL(heal_legs); 316. 317. /* ### do_name.c ### */ 318. 319. E int FDECL(getpos, (coord *,BOOLEAN_P,const char *)); 320. E struct monst *FDECL(christen_monst, (struct monst *,const char *)); 321. E int NDECL(do_mname); 322. E struct obj *FDECL(oname, (struct obj *,const char *)); 323. E int NDECL(ddocall); 324. E void FDECL(docall, (struct obj *)); 325. E const char *NDECL(rndghostname); 326. E char *FDECL(x_monnam, (struct monst *,int,const char *,int)); 327. E char *FDECL(l_monnam, (struct monst *)); 328. E char *FDECL(mon_nam, (struct monst *)); 329. E char *FDECL(Monnam, (struct monst *)); 330. E char *FDECL(m_monnam, (struct monst *)); 331. E char *FDECL(y_monnam, (struct monst *)); 332. E char *FDECL(Adjmonnam, (struct monst *,const char *)); 333. E char *FDECL(Amonnam, (struct monst *)); 334. E char *FDECL(a_monnam, (struct monst *)); 335. E const char *NDECL(rndmonnam); 336. E const char *FDECL(hcolor, (const char *)); 337. E char *FDECL(self_pronoun, (const char *,const char *)); 338. #ifdef REINCARNATION 339. E const char *NDECL(roguename); 340. #endif 341. E struct obj *FDECL(realloc_obj, 342. (struct obj *, int, genericptr_t, int, const char *)); 343. E char *FDECL(coyotename, (char *)); 344. 345. /* ### do_wear.c ### */ 346. 347. #ifdef USE_TRAMPOLI 348. E int NDECL(Armor_on); 349. E int NDECL(Boots_on); 350. E int NDECL(Gloves_on); 351. E int NDECL(Helmet_on); 352. E int FDECL(select_off, (struct obj *)); 353. E int NDECL(take_off); 354. #endif 355. E void FDECL(off_msg, (struct obj *)); 356. E void NDECL(set_wear); 357. E boolean FDECL(donning, (struct obj *)); 358. E void NDECL(cancel_don); 359. E int NDECL(Armor_off); 360. E int NDECL(Armor_gone); 361. E int NDECL(Helmet_off); 362. E int NDECL(Gloves_off); 363. E int NDECL(Boots_off); 364. E int NDECL(Cloak_off); 365. E int NDECL(Shield_off); 366. E void NDECL(Amulet_off); 367. E void FDECL(Ring_on, (struct obj *)); 368. E void FDECL(Ring_off, (struct obj *)); 369. E void FDECL(Ring_gone, (struct obj *)); 370. E void FDECL(Blindf_on, (struct obj *)); 371. E void FDECL(Blindf_off, (struct obj *)); 372. E int NDECL(dotakeoff); 373. E int NDECL(doremring); 374. E int FDECL(cursed, (struct obj *)); 375. E int FDECL(armoroff, (struct obj *)); 376. E int FDECL(canwearobj, (struct obj *, long *, BOOLEAN_P)); 377. E int NDECL(dowear); 378. E int NDECL(doputon); 379. E void NDECL(find_ac); 380. E void NDECL(glibr); 381. E struct obj *FDECL(some_armor,(struct monst *)); 382. E void FDECL(erode_armor, (struct monst *,BOOLEAN_P)); 383. E void NDECL(reset_remarm); 384. E int NDECL(doddoremarm); 385. E int FDECL(destroy_arm, (struct obj *)); 386. E void FDECL(adj_abon, (struct obj *,SCHAR_P)); 387. 388. /* ### dog.c ### */ 389. 390. E void FDECL(initedog, (struct monst *)); 391. E struct monst *FDECL(make_familiar, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 392. E struct monst *NDECL(makedog); 393. E void NDECL(update_mlstmv); 394. E void NDECL(losedogs); 395. E void FDECL(mon_arrive, (struct monst *,BOOLEAN_P)); 396. E void FDECL(mon_catchup_elapsed_time, (struct monst *,long)); 397. E void FDECL(keepdogs, (BOOLEAN_P)); 398. E void FDECL(migrate_to_level, (struct monst *,XCHAR_P,XCHAR_P,coord *)); 399. E int FDECL(dogfood, (struct monst *,struct obj *)); 400. E struct monst *FDECL(tamedog, (struct monst *,struct obj *)); 401. E void FDECL(abuse_dog, (struct monst *)); 402. E void FDECL(wary_dog, (struct monst *, BOOLEAN_P)); 403. 404. /* ### dogmove.c ### */ 405. 406. E int FDECL(dog_nutrition, (struct monst *,struct obj *)); 407. E int FDECL(dog_eat, (struct monst *,struct obj *,int,int,BOOLEAN_P)); 408. E int FDECL(dog_move, (struct monst *,int)); 409. #ifdef USE_TRAMPOLI 410. E void FDECL(wantdoor, (int,int,genericptr_t)); 411. #endif 412. 413. /* ### dokick.c ### */ 414. 415. E boolean FDECL(ghitm, (struct monst *,struct obj *)); 416. E int NDECL(dokick); 417. E boolean FDECL(ship_object, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 418. E void NDECL(obj_delivery); 419. E schar FDECL(down_gate, (XCHAR_P,XCHAR_P)); 420. E void FDECL(impact_drop, (struct obj *,XCHAR_P,XCHAR_P,XCHAR_P)); 421. 422. /* ### dothrow.c ### */ 423. 424. E int NDECL(dothrow); 425. E int NDECL(dofire); 426. E void FDECL(hitfloor, (struct obj *)); 427. E void FDECL(hurtle, (int,int,int,BOOLEAN_P)); 428. E void FDECL(throwit, (struct obj *)); 429. E int FDECL(omon_adj, (struct monst *,struct obj *,BOOLEAN_P)); 430. E int FDECL(thitmonst, (struct monst *,struct obj *)); 431. E int FDECL(hero_breaks, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 432. E int FDECL(breaks, (struct obj *,XCHAR_P,XCHAR_P)); 433. E boolean FDECL(breaktest, (struct obj *)); 434. 435. /* ### drawing.c ### */ 436. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 437. E int FDECL(def_char_to_objclass, (CHAR_P)); 438. E int FDECL(def_char_to_monclass, (CHAR_P)); 439. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 440. E void FDECL(assign_graphics, (uchar *,int,int,int)); 441. E void FDECL(switch_graphics, (int)); 442. #ifdef REINCARNATION 443. E void FDECL(assign_rogue_graphics, (BOOLEAN_P)); 444. #endif 445. 446. /* ### dungeon.c ### */ 447. 448. E void FDECL(save_dungeon, (int,BOOLEAN_P,BOOLEAN_P)); 449. E void FDECL(restore_dungeon, (int)); 450. E void FDECL(insert_branch, (branch *,BOOLEAN_P)); 451. E void NDECL(init_dungeons); 452. E s_level *FDECL(find_level, (const char *)); 453. E s_level *FDECL(Is_special, (d_level *)); 454. E branch *FDECL(Is_branchlev, (d_level *)); 455. E xchar FDECL(ledger_no, (d_level *)); 456. E xchar NDECL(maxledgerno); 457. E schar FDECL(depth, (d_level *)); 458. E xchar FDECL(dunlev, (d_level *)); 459. E xchar FDECL(dunlevs_in_dungeon, (d_level *)); 460. E xchar FDECL(ledger_to_dnum, (XCHAR_P)); 461. E xchar FDECL(ledger_to_dlev, (XCHAR_P)); 462. E xchar FDECL(deepest_lev_reached, (BOOLEAN_P)); 463. E boolean FDECL(on_level, (d_level *,d_level *)); 464. E void FDECL(next_level, (BOOLEAN_P)); 465. E void FDECL(prev_level, (BOOLEAN_P)); 466. E void FDECL(u_on_newpos, (int,int)); 467. E void NDECL(u_on_sstairs); 468. E void NDECL(u_on_upstairs); 469. E void NDECL(u_on_dnstairs); 470. E boolean FDECL(On_stairs, (XCHAR_P,XCHAR_P)); 471. E void FDECL(get_level, (d_level *,int)); 472. E boolean FDECL(Is_botlevel, (d_level *)); 473. E boolean FDECL(Can_fall_thru, (d_level *)); 474. E boolean FDECL(Can_dig_down, (d_level *)); 475. E boolean FDECL(Can_rise_up, (int,int,d_level *)); 476. E boolean FDECL(In_quest, (d_level *)); 477. E boolean FDECL(In_mines, (d_level *)); 478. E branch *FDECL(dungeon_branch, (const char *)); 479. E boolean FDECL(at_dgn_entrance, (const char *)); 480. E boolean FDECL(In_hell, (d_level *)); 481. E boolean FDECL(In_V_tower, (d_level *)); 482. E boolean FDECL(On_W_tower_level, (d_level *)); 483. E boolean FDECL(In_W_tower, (int,int,d_level *)); 484. E void FDECL(find_hell, (d_level *)); 485. E void FDECL(goto_hell, (BOOLEAN_P,BOOLEAN_P)); 486. E void FDECL(assign_level, (d_level *,d_level *)); 487. E void FDECL(assign_rnd_level, (d_level *,d_level *,int)); 488. E int FDECL(induced_align, (int)); 489. E boolean FDECL(Invocation_lev, (d_level *)); 490. E xchar NDECL(level_difficulty); 491. E schar FDECL(lev_by_name, (const char *)); 492. #ifdef WIZARD 493. E void NDECL(print_dungeon); 494. #endif 495. 496. /* ### eat.c ### */ 497. 498. #ifdef USE_TRAMPOLI 499. E int NDECL(eatmdone); 500. E int NDECL(eatfood); 501. E int NDECL(opentin); 502. E int NDECL(unfaint); 503. #endif 504. E boolean FDECL(is_edible, (struct obj *)); 505. E void NDECL(init_uhunger); 506. E int NDECL(Hear_again); 507. E void NDECL(reset_eat); 508. E int NDECL(doeat); 509. E void NDECL(gethungry); 510. E void FDECL(morehungry, (int)); 511. E void FDECL(lesshungry, (int)); 512. E boolean NDECL(is_fainted); 513. E void NDECL(reset_faint); 514. #if 0 515. E void NDECL(sync_hunger); 516. #endif 517. E void FDECL(newuhs, (BOOLEAN_P)); 518. E struct obj *FDECL(floorfood, (const char *,int)); 519. E void NDECL(vomit); 520. E int FDECL(eaten_stat, (int,struct obj *)); 521. E void FDECL(food_disappears, (struct obj *)); 522. E void FDECL(food_substitution, (struct obj *,struct obj *)); 523. E void NDECL(fix_petrification); 524. 525. /* ### end.c ### */ 526. 527. E void FDECL(done1, (int)); 528. E int NDECL(done2); 529. #ifdef USE_TRAMPOLI 530. E void FDECL(done_intr, (int)); 531. #endif 532. E void FDECL(done_in_by, (struct monst *)); 533. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 534. E void VDECL(panic, (const char *,...)) PRINTF_F(1,2); 535. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 536. E void FDECL(done, (int)); 537. E void FDECL(container_contents, (struct obj *,BOOLEAN_P,BOOLEAN_P)); 538. E void FDECL(terminate, (int)); 539. E int NDECL(num_genocides); 540. 541. /* ### engrave.c ### */ 542. 543. E char *FDECL(random_engraving, (char *)); 544. E void FDECL(wipeout_text, (char *,int,unsigned)); 545. E boolean NDECL(can_reach_floor); 546. E const char *FDECL(surface, (int,int)); 547. E const char *FDECL(ceiling, (int,int)); 548. E struct engr *FDECL(engr_at, (XCHAR_P,XCHAR_P)); 549. #ifdef ELBERETH 550. E int FDECL(sengr_at, (const char *,XCHAR_P,XCHAR_P)); 551. #endif 552. E void FDECL(u_wipe_engr, (int)); 553. E void FDECL(wipe_engr_at, (XCHAR_P,XCHAR_P,XCHAR_P)); 554. E void FDECL(read_engr_at, (int,int)); 555. E void FDECL(make_engr_at, (int,int,const char *,long,XCHAR_P)); 556. E void FDECL(del_engr_at, (int,int)); 557. E int NDECL(freehand); 558. E int NDECL(doengrave); 559. E void FDECL(save_engravings, (int,int)); 560. E void FDECL(rest_engravings, (int)); 561. E void FDECL(del_engr, (struct engr *)); 562. E void FDECL(rloc_engr, (struct engr *)); 563. 564. /* ### exper.c ### */ 565. 566. E int FDECL(experience, (struct monst *,int)); 567. E void FDECL(more_experienced, (int,int)); 568. E void NDECL(losexp); 569. E void NDECL(newexplevel); 570. E void FDECL(pluslvl, (BOOLEAN_P)); 571. E long NDECL(rndexp); 572. 573. /* ### explode.c ### */ 574. 575. E void FDECL(explode, (int,int,int,int,CHAR_P)); 576. E void FDECL(scatter, (int, int, int, unsigned int, struct obj *)); 577. E void FDECL(splatter_burning_oil, (int, int)); 578. 579. /* ### extralev.c ### */ 580. 581. #ifdef REINCARNATION 582. E void NDECL(makeroguerooms); 583. E void FDECL(corr, (int,int)); 584. E void NDECL(makerogueghost); 585. #endif 586. 587. /* ### files.c ### */ 588. 589. E FILE *FDECL(fopen_datafile, (const char *,const char *)); 590. E boolean FDECL(uptodate, (int,const char *)); 591. E void FDECL(store_version, (int)); 592. #ifdef MFLOPPY 593. E void NDECL(set_lock_and_bones); 594. #endif 595. E void FDECL(set_levelfile_name, (char *,int)); 596. E int FDECL(create_levelfile, (int)); 597. E int FDECL(open_levelfile, (int)); 598. E void FDECL(delete_levelfile, (int)); 599. E void NDECL(clearlocks); 600. E int FDECL(create_bonesfile, (d_level*,char **)); 601. #ifdef MFLOPPY 602. E void NDECL(cancel_bonesfile); 603. #endif 604. E void FDECL(commit_bonesfile, (d_level *)); 605. E int FDECL(open_bonesfile, (d_level*,char **)); 606. E int FDECL(delete_bonesfile, (d_level*)); 607. E void NDECL(compress_bonesfile); 608. E void NDECL(set_savefile_name); 609. #ifdef INSURANCE 610. E void FDECL(save_savefile_name, (int)); 611. #endif 612. #if defined(WIZARD) && !defined(MICRO) 613. E void NDECL(set_error_savefile); 614. #endif 615. E int NDECL(create_savefile); 616. E int NDECL(open_savefile); 617. E int NDECL(delete_savefile); 618. E int NDECL(restore_saved_game); 619. E void FDECL(compress, (const char *)); 620. E void FDECL(uncompress, (const char *)); 621. E boolean FDECL(lock_file, (const char *,int)); 622. E void FDECL(unlock_file, (const char *)); 623. E void FDECL(read_config_file, (const char *)); 624. E void FDECL(check_recordfile, (const char *)); 625. 626. /* ### fountain.c ### */ 627. 628. E void FDECL(floating_above, (const char *)); 629. E void FDECL(dogushforth, (int)); 630. # ifdef USE_TRAMPOLI 631. E void FDECL(gush, (int,int,genericptr_t)); 632. # endif 633. E void FDECL(dryup, (XCHAR_P,XCHAR_P)); 634. E void NDECL(drinkfountain); 635. E void FDECL(dipfountain, (struct obj *)); 636. #ifdef SINKS 637. E void FDECL(breaksink, (int,int)); 638. E void NDECL(drinksink); 639. #endif 640. 641. /* ### hack.c ### */ 642. 643. E boolean FDECL(revive_nasty, (int,int,const char*)); 644. E void FDECL(movobj, (struct obj *,XCHAR_P,XCHAR_P)); 645. E boolean FDECL(may_dig, (XCHAR_P,XCHAR_P)); 646. E boolean FDECL(may_passwall, (XCHAR_P,XCHAR_P)); 647. E boolean FDECL(bad_rock, (struct permonst *,XCHAR_P,XCHAR_P)); 648. E boolean FDECL(invocation_pos, (XCHAR_P,XCHAR_P)); 649. E void NDECL(domove); 650. E void NDECL(invocation_message); 651. E void NDECL(spoteffects); 652. E char *FDECL(in_rooms, (XCHAR_P,XCHAR_P,int)); 653. E void FDECL(check_special_room, (BOOLEAN_P)); 654. E int NDECL(dopickup); 655. E void NDECL(lookaround); 656. E int NDECL(monster_nearby); 657. E void FDECL(nomul, (int)); 658. E void FDECL(unmul, (const char *)); 659. E void FDECL(losehp, (int,const char *,BOOLEAN_P)); 660. E int NDECL(weight_cap); 661. E int NDECL(inv_weight); 662. E int NDECL(near_capacity); 663. E int FDECL(calc_capacity, (int)); 664. E int NDECL(max_capacity); 665. E boolean FDECL(check_capacity, (const char *)); 666. E int NDECL(inv_cnt); 667. 668. /* ### hacklib.c ### */ 669. 670. E boolean FDECL(digit, (CHAR_P)); 671. E boolean FDECL(letter, (CHAR_P)); 672. E char FDECL(highc, (CHAR_P)); 673. E char FDECL(lowc, (CHAR_P)); 674. E char *FDECL(lcase, (char *)); 675. E char *FDECL(mungspaces, (char *)); 676. E char *FDECL(eos, (char *)); 677. E char *FDECL(s_suffix, (const char *)); 678. E char *FDECL(xcrypt, (const char *,char *)); 679. E boolean FDECL(onlyspace, (const char *)); 680. E char *FDECL(tabexpand, (char *)); 681. E char *FDECL(visctrl, (CHAR_P)); 682. E const char *FDECL(ordin, (int)); 683. E char *FDECL(sitoa, (int)); 684. E int FDECL(sgn, (int)); 685. E int FDECL(rounddiv, (long,int)); 686. E int FDECL(dist2, (int,int,int,int)); 687. E int FDECL(distmin, (int,int,int,int)); 688. E boolean FDECL(online2, (int,int,int,int)); 689. E boolean FDECL(pmatch, (const char *,const char *)); 690. #ifndef STRNCMPI 691. E int FDECL(strncmpi, (const char *,const char *,int)); 692. #endif 693. #ifndef STRSTRI 694. E char *FDECL(strstri, (const char *,const char *)); 695. #endif 696. E boolean FDECL(fuzzymatch, (const char *,const char *,const char *,BOOLEAN_P)); 697. E void NDECL(setrandom); 698. E int NDECL(getyear); 699. E char *FDECL(yymmdd, (time_t)); 700. E long FDECL(yyyymmdd, (time_t)); 701. E int NDECL(phase_of_the_moon); 702. E boolean NDECL(friday_13th); 703. E int NDECL(night); 704. E int NDECL(midnight); 705. 706. /* ### invent.c ### */ 707. 708. E void FDECL(assigninvlet, (struct obj *)); 709. E struct obj *FDECL(merge_choice, (struct obj *,struct obj *)); 710. E int FDECL(merged, (struct obj **,struct obj **)); 711. #ifdef USE_TRAMPOLI 712. E int FDECL(ckunpaid, (struct obj *)); 713. #endif 714. E void FDECL(addinv_core1, (struct obj *)); 715. E void FDECL(addinv_core2, (struct obj *)); 716. E struct obj *FDECL(addinv, (struct obj *)); 717. E struct obj *FDECL(hold_another_object, 718. (struct obj *,const char *,const char *,const char *)); 719. E void FDECL(useupall, (struct obj *)); 720. E void FDECL(useup, (struct obj *)); 721. E void FDECL(freeinv_core, (struct obj *)); 722. E void FDECL(freeinv, (struct obj *)); 723. E void FDECL(delallobj, (int,int)); 724. E void FDECL(delobj, (struct obj *)); 725. E struct obj *FDECL(sobj_at, (int,int,int)); 726. E struct obj *FDECL(carrying, (int)); 727. E boolean NDECL(have_lizard); 728. E struct obj *FDECL(o_on, (unsigned int,struct obj *)); 729. E boolean FDECL(obj_here, (struct obj *,int,int)); 730. E boolean NDECL(wearing_armor); 731. E boolean FDECL(is_worn, (struct obj *)); 732. E struct obj *FDECL(g_at, (int,int)); 733. E struct obj *FDECL(mkgoldobj, (long)); 734. E struct obj *FDECL(getobj, (const char *,const char *)); 735. E int FDECL(ggetobj, (const char *,int (*)(OBJ_P),int,BOOLEAN_P)); 736. E void FDECL(fully_identify_obj, (struct obj *)); 737. E int FDECL(identify, (struct obj *)); 738. E void FDECL(identify_pack, (int)); 739. E int FDECL(askchain, (struct obj **,const char *,int,int (*)(OBJ_P), 740. int (*)(OBJ_P),int,const char *)); 741. E void FDECL(prinv, (const char *,struct obj *,long)); 742. E char *FDECL(xprname, (struct obj *,const char *,CHAR_P,BOOLEAN_P,long)); 743. E int NDECL(ddoinv); 744. E char FDECL(display_inventory, (const char *,BOOLEAN_P)); 745. E int FDECL(display_binventory, (int,int,BOOLEAN_P)); 746. E struct obj *FDECL(display_cinventory,(struct obj *)); 747. E struct obj *FDECL(display_minventory,(struct monst *,int)); 748. E int NDECL(dotypeinv); 749. E const char *FDECL(dfeature_at, (int,int,char *)); 750. E int FDECL(look_here, (int,BOOLEAN_P)); 751. E int NDECL(dolook); 752. E void FDECL(feel_cockatrice, (struct obj *,BOOLEAN_P)); 753. E void FDECL(stackobj, (struct obj *)); 754. E int NDECL(doprgold); 755. E int NDECL(doprwep); 756. E int NDECL(doprarm); 757. E int NDECL(doprring); 758. E int NDECL(dopramulet); 759. E int NDECL(doprtool); 760. E int NDECL(doprinuse); 761. E void FDECL(useupf, (struct obj *,long)); 762. E char *FDECL(let_to_name, (CHAR_P,BOOLEAN_P)); 763. E void NDECL(free_invbuf); 764. E void NDECL(reassign); 765. E int NDECL(doorganize); 766. E int FDECL(count_unpaid, (struct obj *)); 767. E void FDECL(carry_obj_effects, (struct obj *)); 768. 769. /* ### ioctl.c ### */ 770. 771. #if defined(UNIX) || defined(__BEOS__) 772. E void NDECL(getwindowsz); 773. E void NDECL(getioctls); 774. E void NDECL(setioctls); 775. # ifdef SUSPEND 776. E int NDECL(dosuspend); 777. # endif /* SUSPEND */ 778. #endif /* UNIX || __BEOS__ */ 779. 780. /* ### light.c ### */ 781. 782. E void FDECL(new_light_source, (XCHAR_P, XCHAR_P, int, int, genericptr_t)); 783. E void FDECL(del_light_source, (int, genericptr_t)); 784. E void FDECL(do_light_sources, (char **)); 785. E void FDECL(save_light_sources, (int, int, int)); 786. E void FDECL(restore_light_sources, (int)); 787. E void FDECL(relink_light_sources, (BOOLEAN_P)); 788. E void FDECL(obj_move_light_source, (struct obj *, struct obj *)); 789. E boolean NDECL(any_light_source); 790. E void FDECL(snuff_light_source, (int, int)); 791. E boolean FDECL(obj_sheds_light, (struct obj *)); 792. E boolean FDECL(obj_is_burning, (struct obj *)); 793. E void FDECL(obj_split_light_source, (struct obj *, struct obj *)); 794. E void FDECL(obj_merge_light_sources, (struct obj *,struct obj *)); 795. E int FDECL(candle_light_range, (struct obj *)); 796. #ifdef WIZARD 797. E int NDECL(wiz_light_sources); 798. #endif 799. 800. /* ### lock.c ### */ 801. 802. #ifdef USE_TRAMPOLI 803. E int NDECL(forcelock); 804. E int NDECL(picklock); 805. #endif 806. E boolean FDECL(picking_lock, (int *,int *)); 807. E boolean FDECL(picking_at, (int,int)); 808. E void NDECL(reset_pick); 809. E int FDECL(pick_lock, (struct obj *)); 810. E int NDECL(doforce); 811. E boolean FDECL(boxlock, (struct obj *,struct obj *)); 812. E boolean FDECL(doorlock, (struct obj *,int,int)); 813. E int NDECL(doopen); 814. E int NDECL(doclose); 815. 816. #ifdef MAC 817. /* These declarations are here because the main code calls them. */ 818. 819. /* ### macfile.c ### */ 820. 821. E int FDECL(maccreat, (const char *,long)); 822. E int FDECL(macopen, (const char *,int,long)); 823. E int FDECL(macclose, (int)); 824. E int FDECL(macread, (int,void *,unsigned)); 825. E int FDECL(macwrite, (int,void *,unsigned)); 826. E long FDECL(macseek, (int,long,short)); 827. 828. /* ### macsnd.c ### */ 829. 830. E void FDECL(mac_speaker, (struct obj *,char *)); 831. 832. /* ### macunix.c ### */ 833. 834. E void FDECL(regularize, (char *)); 835. E void NDECL(getlock); 836. 837. /* ### macwin.c ### */ 838. 839. E void FDECL(lock_mouse_cursor, (Boolean)); 840. E int NDECL(SanePositions); 841. 842. /* ### mttymain.c ### */ 843. 844. E void FDECL(getreturn, (char *)); 845. E void VDECL(msmsg, (const char *,...)); 846. E void NDECL(gettty); 847. E void NDECL(setftty); 848. E void FDECL(settty, (const char *)); 849. E int NDECL(tgetch); 850. E void FDECL(cmov, (int x, int y)); 851. E void FDECL(nocmov, (int x, int y)); 852. 853. #endif /* MAC */ 854. 855. /* ### mail.c ### */ 856. 857. #ifdef MAIL 858. # ifdef UNIX 859. E void NDECL(getmailstatus); 860. # endif 861. E void NDECL(ckmailstatus); 862. E void FDECL(readmail, (struct obj *)); 863. #endif /* MAIL */ 864. 865. /* ### makemon.c ### */ 866. 867. E boolean FDECL(is_home_elemental, (struct permonst *)); 868. E struct monst *FDECL(clone_mon, (struct monst *)); 869. E struct monst *FDECL(makemon, (struct permonst *,int,int,int)); 870. E boolean FDECL(create_critters, (int,struct permonst *)); 871. E struct permonst *NDECL(rndmonst); 872. E void FDECL(reset_rndmonst, (int)); 873. E struct permonst *FDECL(mkclass, (CHAR_P,int)); 874. E int FDECL(adj_lev, (struct permonst *)); 875. E struct permonst *FDECL(grow_up, (struct monst *,struct monst *)); 876. E int FDECL(mongets, (struct monst *,int)); 877. E int FDECL(golemhp, (int)); 878. E boolean FDECL(peace_minded, (struct permonst *)); 879. E void FDECL(set_malign, (struct monst *)); 880. E void FDECL(set_mimic_sym, (struct monst *)); 881. 882. /* ### mcastu.c ### */ 883. 884. E int FDECL(castmu, (struct monst *,struct attack *)); 885. E int FDECL(buzzmu, (struct monst *,struct attack *)); 886. 887. /* ### mhitm.c ### */ 888. 889. E int FDECL(fightm, (struct monst *)); 890. E int FDECL(mattackm, (struct monst *,struct monst *)); 891. E int FDECL(noattacks, (struct permonst *)); 892. E int FDECL(sleep_monst, (struct monst *,int,int)); 893. E void FDECL(slept_monst, (struct monst *)); 894. 895. /* ### mhitu.c ### */ 896. 897. E const char *FDECL(mpoisons_subj, (struct monst *,struct attack *)); 898. E void NDECL(u_slow_down); 899. E struct monst *NDECL(cloneu); 900. E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P)); 901. E int FDECL(mattacku, (struct monst *)); 902. E int FDECL(gazemu, (struct monst *,struct attack *)); 903. E void FDECL(mdamageu, (struct monst *,int)); 904. E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *)); 905. #ifdef SEDUCE 906. E int FDECL(doseduce, (struct monst *)); 907. #endif 908. 909. /* ### minion.c ### */ 910. 911. E void FDECL(msummon, (struct permonst *)); 912. E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P)); 913. E int FDECL(demon_talk, (struct monst *)); 914. E long FDECL(bribe, (struct monst *)); 915. E int FDECL(dprince, (ALIGNTYP_P)); 916. E int FDECL(dlord, (ALIGNTYP_P)); 917. E int NDECL(llord); 918. E int FDECL(ndemon, (ALIGNTYP_P)); 919. E int NDECL(lminion); 920. 921. /* ### mklev.c ### */ 922. 923. #ifdef USE_TRAMPOLI 924. E int FDECL(do_comp, (genericptr_t,genericptr_t)); 925. #endif 926. E void NDECL(sort_rooms); 927. E void FDECL(add_room, (int,int,int,int,BOOLEAN_P,SCHAR_P,BOOLEAN_P)); 928. E void FDECL(add_subroom, (struct mkroom *,int,int,int,int, 929. BOOLEAN_P,SCHAR_P,BOOLEAN_P)); 930. E void NDECL(makecorridors); 931. E void FDECL(add_door, (int,int,struct mkroom *)); 932. E void NDECL(mklev); 933. #ifdef SPECIALIZATION 934. E void FDECL(topologize, (struct mkroom *,BOOLEAN_P)); 935. #else 936. E void FDECL(topologize, (struct mkroom *)); 937. #endif 938. E void FDECL(place_branch, (branch *,XCHAR_P,XCHAR_P)); 939. E boolean FDECL(occupied, (XCHAR_P,XCHAR_P)); 940. E int FDECL(okdoor, (XCHAR_P,XCHAR_P)); 941. E void FDECL(dodoor, (int,int,struct mkroom *)); 942. E void FDECL(mktrap, (int,int,struct mkroom *,coord*)); 943. E void FDECL(mkstairs, (XCHAR_P,XCHAR_P,CHAR_P,struct mkroom *)); 944. E void NDECL(mkinvokearea); 945. 946. /* ### mkmap.c ### */ 947. 948. void FDECL(flood_fill_rm, (int,int,int,BOOLEAN_P,BOOLEAN_P)); 949. 950. /* ### mkmaze.c ### */ 951. 952. E void FDECL(wallification, (int,int,int,int)); 953. E void FDECL(walkfrom, (int,int)); 954. E void FDECL(makemaz, (const char *)); 955. E void FDECL(mazexy, (coord *)); 956. E void NDECL(bound_digging); 957. E void FDECL(mkportal, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 958. E boolean FDECL(bad_location, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 959. E void FDECL(place_lregion, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 960. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 961. XCHAR_P,d_level *)); 962. E void NDECL(movebubbles); 963. E void NDECL(water_friction); 964. E void FDECL(save_waterlevel, (int,int)); 965. E void FDECL(restore_waterlevel, (int)); 966. 967. /* ### mkobj.c ### */ 968. 969. E struct obj *FDECL(mkobj_at, (CHAR_P,int,int,BOOLEAN_P)); 970. E struct obj *FDECL(mksobj_at, (int,int,int,BOOLEAN_P)); 971. E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P)); 972. E int NDECL(rndmonnum); 973. E struct obj *FDECL(splitobj, (struct obj *,long)); 974. E void FDECL(bill_dummy_object, (struct obj *)); 975. E struct obj *FDECL(mksobj, (int,BOOLEAN_P,BOOLEAN_P)); 976. E int FDECL(bcsign, (struct obj *)); 977. E int FDECL(weight, (struct obj *)); 978. E struct obj *FDECL(mkgold, (long,int,int)); 979. E struct obj *FDECL(mkcorpstat, 980. (int,struct monst *,struct permonst *,int,int,BOOLEAN_P)); 981. E struct monst *FDECL(get_mtraits, (struct obj *, BOOLEAN_P)); 982. E struct obj *FDECL(mk_tt_object, (int,int,int)); 983. E struct obj *FDECL(mk_named_object, 984. (int,struct permonst *,int,int,const char *)); 985. E struct obj *FDECL(rnd_treefruit_at, (int, int)); 986. E void FDECL(start_corpse_timeout, (struct obj *)); 987. E void FDECL(bless, (struct obj *)); 988. E void FDECL(unbless, (struct obj *)); 989. E void FDECL(curse, (struct obj *)); 990. E void FDECL(uncurse, (struct obj *)); 991. E void FDECL(blessorcurse, (struct obj *,int)); 992. E boolean FDECL(is_flammable, (struct obj *)); 993. E void FDECL(place_object, (struct obj *,int,int)); 994. E void FDECL(remove_object, (struct obj *)); 995. E void FDECL(discard_minvent, (struct monst *)); 996. E void FDECL(obj_extract_self, (struct obj *)); 997. E void FDECL(extract_nobj, (struct obj *, struct obj **)); 998. E void FDECL(extract_nexthere, (struct obj *, struct obj **)); 999. E void FDECL(add_to_minv, (struct monst *, struct obj *)); 1000. E void FDECL(add_to_container, (struct obj *, struct obj *)); 1001. E void FDECL(add_to_migration, (struct obj *)); 1002. E void FDECL(add_to_buried, (struct obj *)); 1003. E void FDECL(dealloc_obj, (struct obj *)); 1004. E void FDECL(obj_ice_effects, (int, int, BOOLEAN_P)); 1005. E long FDECL(peek_at_iced_corpse_age, (struct obj *)); 1006. #ifdef WIZARD 1007. E void NDECL(obj_sanity_check); 1008. #endif 1009. 1010. /* ### mkroom.c ### */ 1011. 1012. E void FDECL(mkroom, (int)); 1013. E void FDECL(fill_zoo, (struct mkroom *)); 1014. E boolean FDECL(nexttodoor, (int,int)); 1015. E boolean FDECL(has_dnstairs, (struct mkroom *)); 1016. E boolean FDECL(has_upstairs, (struct mkroom *)); 1017. E int FDECL(somex, (struct mkroom *)); 1018. E int FDECL(somey, (struct mkroom *)); 1019. E boolean FDECL(inside_room, (struct mkroom *,XCHAR_P,XCHAR_P)); 1020. E boolean FDECL(somexy, (struct mkroom *,coord *)); 1021. E void FDECL(mkundead, (coord *,BOOLEAN_P,int)); 1022. E struct permonst *NDECL(courtmon); 1023. E void FDECL(save_rooms, (int)); 1024. E void FDECL(rest_rooms, (int)); 1025. E struct mkroom *FDECL(search_special, (SCHAR_P)); 1026. 1027. /* ### mon.c ### */ 1028. 1029. E int FDECL(undead_to_corpse, (int)); 1030. E int FDECL(pm_to_cham, (int)); 1031. E int FDECL(minwater, (struct monst *)); 1032. E int NDECL(movemon); 1033. E int FDECL(meatgold, (struct monst *)); 1034. E int FDECL(meatobj, (struct monst *)); 1035. E void FDECL(mpickgold, (struct monst *)); 1036. E boolean FDECL(mpickstuff, (struct monst *,const char *)); 1037. E int FDECL(curr_mon_load, (struct monst *)); 1038. E int FDECL(max_mon_load, (struct monst *)); 1039. E boolean FDECL(can_carry, (struct monst *,struct obj *)); 1040. E int FDECL(mfndpos, (struct monst *,coord *,long *,long)); 1041. E boolean FDECL(monnear, (struct monst *,int,int)); 1042. E void NDECL(dmonsfree); 1043. E void FDECL(mcalcmove, (struct monst*)); 1044. E void NDECL(mcalcdistress); 1045. E void FDECL(replmon, (struct monst *,struct monst *)); 1046. E void FDECL(relmon, (struct monst *)); 1047. E struct obj *FDECL(mlifesaver, (struct monst *)); 1048. E void FDECL(mondead, (struct monst *)); 1049. E void FDECL(mondied, (struct monst *)); 1050. E void FDECL(mongone, (struct monst *)); 1051. E void FDECL(monstone, (struct monst *)); 1052. E void FDECL(monkilled, (struct monst *,const char *,int)); 1053. E void FDECL(unstuck, (struct monst *)); 1054. E void FDECL(killed, (struct monst *)); 1055. E void FDECL(xkilled, (struct monst *,int)); 1056. E void FDECL(mon_to_stone, (struct monst*)); 1057. E void FDECL(mnexto, (struct monst *)); 1058. E boolean FDECL(mnearto, (struct monst *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 1059. E void FDECL(poisontell, (int)); 1060. E void FDECL(poisoned, (const char *,int,const char *,int)); 1061. E void FDECL(m_respond, (struct monst *)); 1062. E void FDECL(setmangry, (struct monst *)); 1063. E void FDECL(wakeup, (struct monst *)); 1064. E void NDECL(wake_nearby); 1065. E void FDECL(wake_nearto, (int,int,int)); 1066. E void FDECL(seemimic, (struct monst *)); 1067. E void NDECL(rescham); 1068. E void NDECL(restartcham); 1069. E void FDECL(restore_cham, (struct monst *)); 1070. E void FDECL(mon_animal_list, (BOOLEAN_P)); 1071. E int FDECL(newcham, (struct monst *,struct permonst *)); 1072. E int FDECL(can_be_hatched, (int)); 1073. E int FDECL(egg_type_from_parent, (int,BOOLEAN_P)); 1074. E boolean FDECL(dead_species, (int,BOOLEAN_P)); 1075. E void NDECL(kill_genocided_monsters); 1076. E void FDECL(golemeffects, (struct monst *,int,int)); 1077. E boolean FDECL(angry_guards, (BOOLEAN_P)); 1078. E void NDECL(pacify_guards); 1079. 1080. /* ### mondata.c ### */ 1081. 1082. E void FDECL(set_mon_data, (struct monst *,struct permonst *,int)); 1083. E boolean FDECL(attacktype, (struct permonst *,int)); 1084. E boolean FDECL(poly_when_stoned, (struct permonst *)); 1085. E boolean FDECL(resists_drli, (struct monst *)); 1086. E boolean FDECL(resists_magm, (struct monst *)); 1087. E boolean FDECL(resists_blnd, (struct monst *)); 1088. E boolean FDECL(ranged_attk, (struct permonst *)); 1089. E boolean FDECL(hates_silver, (struct permonst *)); 1090. E boolean FDECL(can_track, (struct permonst *)); 1091. E boolean FDECL(breakarm, (struct permonst *)); 1092. E boolean FDECL(sliparm, (struct permonst *)); 1093. E boolean FDECL(sticks, (struct permonst *)); 1094. /* E boolean FDECL(canseemon, (struct monst *)); */ 1095. E boolean FDECL(dmgtype, (struct permonst *,int)); 1096. E int FDECL(max_passive_dmg, (struct monst *,struct monst *)); 1097. E int FDECL(monsndx, (struct permonst *)); 1098. E int FDECL(name_to_mon, (const char *)); 1099. E boolean FDECL(webmaker, (struct permonst *)); 1100. E int FDECL(gender, (struct monst *)); 1101. E int FDECL(pronoun_gender, (struct monst *)); 1102. E boolean FDECL(levl_follower, (struct monst *)); 1103. E int FDECL(little_to_big, (int)); 1104. E int FDECL(big_to_little, (int)); 1105. E const char *FDECL(locomotion, (const struct permonst *,const char *)); 1106. 1107. /* ### monmove.c ### */ 1108. 1109. E boolean FDECL(itsstuck, (struct monst *)); 1110. E boolean FDECL(mb_trapped, (struct monst *)); 1111. E void FDECL(mon_regen, (struct monst *,BOOLEAN_P)); 1112. E int FDECL(dochugw, (struct monst *)); 1113. E boolean FDECL(onscary, (int,int,struct monst *)); 1114. E int FDECL(dochug, (struct monst *)); 1115. E int FDECL(m_move, (struct monst *,int)); 1116. E boolean FDECL(closed_door, (int,int)); 1117. E boolean FDECL(accessible, (int,int)); 1118. E void FDECL(set_apparxy, (struct monst *)); 1119. E boolean FDECL(can_ooze, (struct monst *)); 1120. 1121. /* ### monst.c ### */ 1122. 1123. E void NDECL(monst_init); 1124. 1125. /* ### monstr.c ### */ 1126. 1127. E void NDECL(monstr_init); 1128. 1129. /* ### mplayer.c ### */ 1130. 1131. E struct monst *FDECL(mk_mplayer, (struct permonst *,XCHAR_P, 1132. XCHAR_P,BOOLEAN_P)); 1133. E void FDECL(create_mplayers, (int,BOOLEAN_P)); 1134. E void FDECL(mplayer_talk, (struct monst *)); 1135. 1136. #ifdef MICRO 1137. 1138. /* ### msdos.c,os2.c,tos.c,winnt.c ### */ 1139. 1140. # ifndef WIN32 1141. E int NDECL(tgetch); 1142. # endif 1143. # ifndef TOS 1144. E char NDECL(switchar); 1145. # endif 1146. # ifndef __GO32__ 1147. E long FDECL(freediskspace, (char *)); 1148. # ifdef MSDOS 1149. E int FDECL(findfirst_file, (char *)); 1150. E int NDECL(findnext_file); 1151. E long FDECL(filesize_nh, (char *)); 1152. # else 1153. E int FDECL(findfirst, (char *)); 1154. E int NDECL(findnext); 1155. E long FDECL(filesize, (char *)); 1156. # endif /* MSDOS */ 1157. E char *NDECL(foundfile_buffer); 1158. # endif /* __GO32__ */ 1159. E void FDECL(chdrive, (char *)); 1160. # ifndef TOS 1161. E void NDECL(disable_ctrlP); 1162. E void NDECL(enable_ctrlP); 1163. # endif 1164. # if defined(MICRO) && !defined(WINNT) 1165. E void NDECL(get_scr_size); 1166. # ifndef TOS 1167. E void FDECL(gotoxy, (int,int)); 1168. # endif 1169. # endif 1170. # ifdef TOS 1171. E int FDECL(_copyfile, (char *,char *)); 1172. E int NDECL(kbhit); 1173. E void NDECL(set_colors); 1174. E void NDECL(restore_colors); 1175. # ifdef SUSPEND 1176. E int NDECL(dosuspend); 1177. # endif 1178. # endif /* TOS */ 1179. # ifdef WIN32 1180. E char *FDECL(get_username, (int *)); 1181. E void FDECL(nt_regularize, (char *)); 1182. E int NDECL((*nt_kbhit)); 1183. E void FDECL(Delay, (int)); 1184. # endif /* WIN32 */ 1185. 1186. #endif /* MICRO */ 1187. 1188. /* ### mthrowu.c ### */ 1189. 1190. E int FDECL(thitu, (int,int,struct obj *,const char *)); 1191. E int FDECL(ohitmon, (struct monst *,struct obj *,int,BOOLEAN_P)); 1192. E void FDECL(thrwmu, (struct monst *)); 1193. E int FDECL(spitmu, (struct monst *,struct attack *)); 1194. E int FDECL(breamu, (struct monst *,struct attack *)); 1195. E boolean FDECL(linedup, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1196. E boolean FDECL(lined_up, (struct monst *)); 1197. E struct obj *FDECL(m_carrying, (struct monst *,int)); 1198. E void FDECL(m_useup, (struct monst *,struct obj *)); 1199. E void FDECL(m_throw, (struct monst *,int,int,int,int,int,struct obj *)); 1200. 1201. /* ### muse.c ### */ 1202. 1203. E boolean FDECL(find_defensive, (struct monst *)); 1204. E int FDECL(use_defensive, (struct monst *)); 1205. E int FDECL(rnd_defensive_item, (struct monst *)); 1206. E boolean FDECL(find_offensive, (struct monst *)); 1207. #ifdef USE_TRAMPOLI 1208. E int FDECL(mbhitm, (struct monst *,struct obj *)); 1209. #endif 1210. E int FDECL(use_offensive, (struct monst *)); 1211. E int FDECL(rnd_offensive_item, (struct monst *)); 1212. E boolean FDECL(find_misc, (struct monst *)); 1213. E int FDECL(use_misc, (struct monst *)); 1214. E int FDECL(rnd_misc_item, (struct monst *)); 1215. E boolean FDECL(searches_for_item, (struct monst *,struct obj *)); 1216. E boolean FDECL(mon_reflects, (struct monst *,const char *)); 1217. E boolean FDECL(ureflects, (const char *,const char *)); 1218. E boolean FDECL(munstone, (struct monst *,BOOLEAN_P)); 1219. 1220. /* ### music.c ### */ 1221. 1222. E void NDECL(awaken_soldiers); 1223. E int FDECL(do_play_instrument, (struct obj *)); 1224. 1225. /* ### nhlan.c ### */ 1226. #ifdef LAN_FEATURES 1227. E void NDECL(init_lan_features); 1228. E char *NDECL(lan_username); 1229. # ifdef LAN_MAIL 1230. E boolean NDECL(lan_mail_check); 1231. E void FDECL(lan_mail_read, (struct obj *)); 1232. E void NDECL(lan_mail_init); 1233. E void NDECL(lan_mail_finish); 1234. E void NDECL(lan_mail_terminate); 1235. # endif 1236. #endif 1237. 1238. /* ### nttty.c ### */ 1239. 1240. #ifdef WIN32CON 1241. E void NDECL(get_scr_size); 1242. E int NDECL(nttty_kbhit); 1243. E void NDECL(nttty_open); 1244. E void NDECL(nttty_rubout); 1245. E int NDECL(tgetch); 1246. E int FDECL(ntposkey,(int *, int *, int *)); 1247. #endif 1248. 1249. /* ### o_init.c ### */ 1250. 1251. E void NDECL(init_objects); 1252. E int NDECL(find_skates); 1253. E void NDECL(oinit); 1254. E void FDECL(savenames, (int,int)); 1255. E void FDECL(restnames, (int)); 1256. E void FDECL(discover_object, (int,BOOLEAN_P,BOOLEAN_P)); 1257. E void FDECL(undiscover_object, (int)); 1258. E int NDECL(dodiscovered); 1259. 1260. /* ### objects.c ### */ 1261. 1262. E void NDECL(objects_init); 1263. 1264. /* ### objnam.c ### */ 1265. 1266. E char *FDECL(obj_typename, (int)); 1267. E boolean FDECL(obj_is_pname, (struct obj *)); 1268. E char *FDECL(distant_name, (struct obj *,char *(*)(OBJ_P))); 1269. E char *FDECL(xname, (struct obj *)); 1270. E char *FDECL(doname, (struct obj *)); 1271. E boolean FDECL(not_fully_identified, (struct obj *)); 1272. E const char *FDECL(corpse_xname, (struct obj *,BOOLEAN_P)); 1273. E const char *FDECL(singular, (struct obj *,char *(*)(OBJ_P))); 1274. E char *FDECL(an, (const char *)); 1275. E char *FDECL(An, (const char *)); 1276. E char *FDECL(The, (const char *)); 1277. E char *FDECL(the, (const char *)); 1278. E char *FDECL(aobjnam, (struct obj *,const char *)); 1279. E char *FDECL(Doname2, (struct obj *)); 1280. E char *FDECL(yname, (struct obj *)); 1281. E char *FDECL(Yname2, (struct obj *)); 1282. E char *FDECL(makeplural, (const char *)); 1283. E char *FDECL(makesingular, (const char *)); 1284. E struct obj *FDECL(readobjnam, (char *)); 1285. E int FDECL(rnd_class, (int,int)); 1286. 1287. /* ### options.c ### */ 1288. 1289. E boolean FDECL(match_optname, (const char *,const char *,int,BOOLEAN_P)); 1290. E void NDECL(initoptions); 1291. E void FDECL(parseoptions, (char *,BOOLEAN_P,BOOLEAN_P)); 1292. E int NDECL(doset); 1293. E int NDECL(dotogglepickup); 1294. E void NDECL(option_help); 1295. E void FDECL(next_opt, (winid,const char *)); 1296. E int FDECL(fruitadd, (char *)); 1297. E int FDECL(choose_classes_menu, (const char *,int,BOOLEAN_P,char *,char *)); 1298. E void FDECL(add_menu_cmd_alias, (CHAR_P, CHAR_P)); 1299. E char FDECL(map_menu_cmd, (CHAR_P)); 1300. 1301. /* ### pager.c ### */ 1302. 1303. E int NDECL(dowhatis); 1304. E int NDECL(doquickwhatis); 1305. E int NDECL(doidtrap); 1306. E int NDECL(dowhatdoes); 1307. E int NDECL(dohelp); 1308. E int NDECL(dohistory); 1309. 1310. /* ### pcmain.c ### */ 1311. 1312. #if defined(MICRO) 1313. # ifdef CHDIR 1314. E void FDECL(chdirx, (char *,BOOLEAN_P)); 1315. # endif /* CHDIR */ 1316. #endif /* MICRO */ 1317. 1318. /* ### pcsys.c ### */ 1319. 1320. #ifdef MICRO 1321. E void NDECL(flushout); 1322. E int NDECL(dosh); 1323. # ifdef MFLOPPY 1324. E void FDECL(eraseall, (const char *,const char *)); 1325. E void FDECL(copybones, (int)); 1326. E void NDECL(playwoRAMdisk); 1327. E int FDECL(saveDiskPrompt, (int)); 1328. E void NDECL(gameDiskPrompt); 1329. # endif 1330. E void FDECL(append_slash, (char *)); 1331. E void FDECL(getreturn, (const char *)); 1332. # ifndef AMIGA 1333. E void VDECL(msmsg, (const char *,...)); 1334. # endif 1335. E FILE *FDECL(fopenp, (const char *,const char *)); 1336. #endif /* MICRO */ 1337. 1338. /* ### pctty.c ### */ 1339. 1340. #if defined(MICRO) 1341. E void NDECL(gettty); 1342. E void FDECL(settty, (const char *)); 1343. E void NDECL(setftty); 1344. E void VDECL(error, (const char *,...)); 1345. #if defined(TIMED_DELAY) && defined(_MSC_VER) 1346. E void FDECL(msleep, (unsigned)); 1347. #endif 1348. #endif /* MICRO */ 1349. 1350. /* ### pcunix.c ### */ 1351. 1352. #if defined(MICRO) 1353. E void FDECL(gethdate, (char *)); 1354. E void FDECL(regularize, (char *)); 1355. #endif /* MICRO */ 1356. #if defined(WIN32) || defined(MSDOS) 1357. E void NDECL(getlock); 1358. #endif 1359. 1360. /* ### pickup.c ### */ 1361. 1362. E int FDECL(collect_obj_classes, 1363. (char *,struct obj *,BOOLEAN_P,BOOLEAN_P,boolean FDECL((*),(OBJ_P)))); 1364. E void FDECL(add_valid_menu_class, (int)); 1365. E boolean FDECL(allow_all, (struct obj *)); 1366. E boolean FDECL(allow_category, (struct obj *)); 1367. E boolean FDECL(is_worn_by_type, (struct obj *)); 1368. #ifdef USE_TRAMPOLI 1369. E int FDECL(ck_bag, (struct obj *)); 1370. E int FDECL(in_container, (struct obj *)); 1371. E int FDECL(out_container, (struct obj *)); 1372. #endif 1373. E void FDECL(pickup, (int)); 1374. E int FDECL(pickup_object, (struct obj *, long, BOOLEAN_P)); 1375. E int FDECL(query_category, (const char *, struct obj *, int, 1376. menu_item **, int)); 1377. E int FDECL(query_objlist, (const char *, struct obj *, int, 1378. menu_item **, int, boolean (*)(OBJ_P))); 1379. E struct obj *FDECL(pick_obj, (struct obj *)); 1380. E int NDECL(encumber_msg); 1381. E int NDECL(doloot); 1382. E int FDECL(use_container, (struct obj *,int)); 1383. 1384. /* ### pline.c ### */ 1385. 1386. E void VDECL(pline, (const char *,...)) PRINTF_F(1,2); 1387. E void VDECL(Norep, (const char *,...)) PRINTF_F(1,2); 1388. E void NDECL(free_youbuf); 1389. E void VDECL(You, (const char *,...)) PRINTF_F(1,2); 1390. E void VDECL(Your, (const char *,...)) PRINTF_F(1,2); 1391. E void VDECL(You_feel, (const char *,...)) PRINTF_F(1,2); 1392. E void VDECL(You_cant, (const char *,...)) PRINTF_F(1,2); 1393. E void VDECL(You_hear, (const char *,...)) PRINTF_F(1,2); 1394. E void VDECL(pline_The, (const char *,...)) PRINTF_F(1,2); 1395. E void VDECL(verbalize, (const char *,...)) PRINTF_F(1,2); 1396. E void VDECL(raw_printf, (const char *,...)) PRINTF_F(1,2); 1397. E void VDECL(impossible, (const char *,...)) PRINTF_F(1,2); 1398. E const char *FDECL(align_str, (ALIGNTYP_P)); 1399. E void FDECL(mstatusline, (struct monst *)); 1400. E void NDECL(ustatusline); 1401. E void NDECL(self_invis_message); 1402. 1403. /* ### polyself.c ### */ 1404. 1405. E void NDECL(set_uasmon); 1406. E void NDECL(change_sex); 1407. E void NDECL(polyself); 1408. E int FDECL(polymon, (int)); 1409. E void NDECL(rehumanize); 1410. E int NDECL(dobreathe); 1411. E int NDECL(dospit); 1412. E int NDECL(doremove); 1413. E int NDECL(dospinweb); 1414. E int NDECL(dosummon); 1415. E int NDECL(doconfuse); 1416. E int NDECL(dohide); 1417. E int NDECL(domindblast); 1418. E const char *FDECL(mbodypart, (struct monst *,int)); 1419. E const char *FDECL(body_part, (int)); 1420. E int NDECL(poly_gender); 1421. E void FDECL(ugolemeffects, (int,int)); 1422. 1423. /* ### potion.c ### */ 1424. 1425. E void FDECL(set_itimeout, (long *,long)); 1426. E void FDECL(incr_itimeout, (long *,int)); 1427. E void FDECL(make_confused, (long,BOOLEAN_P)); 1428. E void FDECL(make_stunned, (long,BOOLEAN_P)); 1429. E void FDECL(make_blinded, (long,BOOLEAN_P)); 1430. E void FDECL(make_sick, (long, const char *, BOOLEAN_P,int)); 1431. E void FDECL(make_vomiting, (long,BOOLEAN_P)); 1432. E void FDECL(make_hallucinated, (long,BOOLEAN_P,long)); 1433. E int NDECL(dodrink); 1434. E int FDECL(dopotion, (struct obj *)); 1435. E int FDECL(peffects, (struct obj *)); 1436. E void FDECL(healup, (int,int,BOOLEAN_P,BOOLEAN_P)); 1437. E void FDECL(strange_feeling, (struct obj *,const char *)); 1438. E void FDECL(potionhit, (struct monst *,struct obj *,BOOLEAN_P)); 1439. E void FDECL(potionbreathe, (struct obj *)); 1440. E boolean FDECL(get_wet, (struct obj *)); 1441. E int NDECL(dodip); 1442. E void FDECL(djinni_from_bottle, (struct obj *)); 1443. E struct monst *FDECL(split_mon, (struct monst *,struct monst *)); 1444. 1445. /* ### pray.c ### */ 1446. 1447. #ifdef USE_TRAMPOLI 1448. E int NDECL(prayer_done); 1449. #endif 1450. E int NDECL(dosacrifice); 1451. E boolean FDECL(can_pray, (BOOLEAN_P)); 1452. E int NDECL(dopray); 1453. E const char *NDECL(u_gname); 1454. E int NDECL(doturn); 1455. E const char *NDECL(a_gname); 1456. E const char *FDECL(a_gname_at, (XCHAR_P x,XCHAR_P y)); 1457. E const char *FDECL(align_gname, (ALIGNTYP_P)); 1458. E const char *FDECL(halu_gname, (ALIGNTYP_P)); 1459. E const char *FDECL(align_gtitle, (ALIGNTYP_P)); 1460. E void FDECL(altar_wrath, (int,int)); 1461. 1462. 1463. /* ### priest.c ### */ 1464. 1465. E int FDECL(move_special, (struct monst *,BOOLEAN_P,SCHAR_P,BOOLEAN_P,BOOLEAN_P, 1466. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1467. E char FDECL(temple_occupied, (char *)); 1468. E int FDECL(pri_move, (struct monst *)); 1469. E void FDECL(priestini, (d_level *,struct mkroom *,int,int,BOOLEAN_P)); 1470. E char *FDECL(priestname, (struct monst *,char *)); 1471. E boolean FDECL(p_coaligned, (struct monst *)); 1472. E struct monst *FDECL(findpriest, (CHAR_P)); 1473. E void FDECL(intemple, (int)); 1474. E void FDECL(priest_talk, (struct monst *)); 1475. E struct monst *FDECL(mk_roamer, (struct permonst *,ALIGNTYP_P, 1476. XCHAR_P,XCHAR_P,BOOLEAN_P)); 1477. E void FDECL(reset_hostility, (struct monst *)); 1478. E boolean FDECL(in_your_sanctuary, (struct monst *,XCHAR_P,XCHAR_P)); 1479. E void FDECL(ghod_hitsu, (struct monst *)); 1480. E void NDECL(angry_priest); 1481. E void NDECL(clearpriests); 1482. E void FDECL(restpriest, (struct monst *,BOOLEAN_P)); 1483. 1484. /* ### quest.c ### */ 1485. 1486. E void NDECL(onquest); 1487. E void NDECL(nemdead); 1488. E void NDECL(artitouch); 1489. E boolean NDECL(ok_to_quest); 1490. E void FDECL(leader_speaks, (struct monst *)); 1491. E void NDECL(nemesis_speaks); 1492. E void FDECL(quest_chat, (struct monst *)); 1493. E void FDECL(quest_talk, (struct monst *)); 1494. E void FDECL(quest_stat_check, (struct monst *)); 1495. E void FDECL(finish_quest, (struct obj *)); 1496. 1497. /* ### questpgr.c ### */ 1498. 1499. E void NDECL(load_qtlist); 1500. E void NDECL(unload_qtlist); 1501. E short FDECL(quest_info, (int)); 1502. E const char *NDECL(ldrname); 1503. E boolean FDECL(is_quest_artifact, (struct obj*)); 1504. E boolean NDECL(leaderless); 1505. E void FDECL(com_pager, (int)); 1506. E void FDECL(qt_pager, (int)); 1507. E struct permonst *NDECL(qt_montype); 1508. 1509. /* ### random.c ### */ 1510. 1511. #if defined(RANDOM) && !defined(__GO32__) /* djgpp has its own random */ 1512. E void FDECL(srandom, (unsigned)); 1513. E char *FDECL(initstate, (unsigned,char *,int)); 1514. E char *FDECL(setstate, (char *)); 1515. E long NDECL(random); 1516. #endif /* RANDOM */ 1517. 1518. /* ### read.c ### */ 1519. 1520. E int NDECL(doread); 1521. E boolean FDECL(is_chargeable, (struct obj *)); 1522. E void FDECL(recharge, (struct obj *,int)); 1523. E void FDECL(forget_objects, (int)); 1524. E void FDECL(forget_levels, (int)); 1525. E void NDECL(forget_traps); 1526. E void FDECL(forget_map, (int)); 1527. E int FDECL(seffects, (struct obj *)); 1528. #ifdef USE_TRAMPOLI 1529. E void FDECL(set_lit, (int,int,genericptr_t)); 1530. #endif 1531. E void FDECL(litroom, (BOOLEAN_P,struct obj *)); 1532. E void FDECL(do_genocide, (int)); 1533. E void FDECL(punish, (struct obj *)); 1534. E void NDECL(unpunish); 1535. E boolean FDECL(cant_create, (int *, BOOLEAN_P)); 1536. #ifdef WIZARD 1537. E boolean NDECL(create_particular); 1538. #endif 1539. 1540. /* ### rect.c ### */ 1541. 1542. E void NDECL(init_rect); 1543. E NhRect *FDECL(get_rect, (NhRect *)); 1544. E NhRect *NDECL(rnd_rect); 1545. E void FDECL(remove_rect, (NhRect *)); 1546. E void FDECL(add_rect, (NhRect *)); 1547. E void FDECL(split_rects, (NhRect *,NhRect *)); 1548. 1549. /* ## region.c ### */ 1550. E void NDECL(clear_regions); 1551. E void NDECL(run_regions); 1552. E boolean FDECL(in_out_region, (XCHAR_P,XCHAR_P)); 1553. E boolean FDECL(m_in_out_region, (struct monst *,XCHAR_P,XCHAR_P)); 1554. E void NDECL(update_player_regions); 1555. E void FDECL(update_monster_region, (struct monst *)); 1556. E NhRegion *FDECL(visible_region_at, (XCHAR_P,XCHAR_P)); 1557. E void FDECL(show_region, (NhRegion*, XCHAR_P, XCHAR_P)); 1558. E void FDECL(save_regions, (int,int)); 1559. E void FDECL(rest_regions, (int)); 1560. E NhRegion* FDECL(create_gas_cloud, (XCHAR_P, XCHAR_P, int, int)); 1561. 1562. /* ### restore.c ### */ 1563. 1564. E void FDECL(inven_inuse, (BOOLEAN_P)); 1565. E int FDECL(dorecover, (int)); 1566. E void NDECL(trickery); 1567. E void FDECL(getlev, (int,int,XCHAR_P,BOOLEAN_P)); 1568. E void NDECL(minit); 1569. E boolean FDECL(lookup_id_mapping, (unsigned, unsigned *)); 1570. #ifdef ZEROCOMP 1571. E int FDECL(mread, (int,genericptr_t,unsigned int)); 1572. #else 1573. E void FDECL(mread, (int,genericptr_t,unsigned int)); 1574. #endif 1575. 1576. /* ### rip.c ### */ 1577. 1578. E void FDECL(genl_outrip, (winid,int)); 1579. 1580. /* ### rnd.c ### */ 1581. 1582. E int FDECL(rn2, (int)); 1583. E int FDECL(rnl, (int)); 1584. E int FDECL(rnd, (int)); 1585. E int FDECL(d, (int,int)); 1586. E int FDECL(rne, (int)); 1587. E int FDECL(rnz, (int)); 1588. 1589. /* ### role.c ### */ 1590. 1591. E boolean FDECL(validrole, (int)); 1592. E boolean FDECL(validrace, (int, int)); 1593. E boolean FDECL(validgend, (int, int, int)); 1594. E boolean FDECL(validalign, (int, int, int)); 1595. E int NDECL(randrole); 1596. E int FDECL(randrace, (int)); 1597. E int FDECL(randgend, (int, int)); 1598. E int FDECL(randalign, (int, int)); 1599. E int FDECL(str2role, (char *)); 1600. E int FDECL(str2race, (char *)); 1601. E int FDECL(str2gend, (char *)); 1602. E int FDECL(str2align, (char *)); 1603. E void NDECL(role_init); 1604. E void NDECL(plnamesuffix); 1605. E const char *NDECL(Hello); 1606. E const char *NDECL(Goodbye); 1607. 1608. /* ### rumors.c ### */ 1609. 1610. E char *FDECL(getrumor, (int,char *)); 1611. E void FDECL(outrumor, (int,int)); 1612. E void FDECL(outoracle, (BOOLEAN_P, BOOLEAN_P)); 1613. E void FDECL(save_oracles, (int,int)); 1614. E void FDECL(restore_oracles, (int)); 1615. E int FDECL(doconsult, (struct monst *)); 1616. 1617. /* ### save.c ### */ 1618. 1619. E int NDECL(dosave); 1620. #if defined(UNIX) || defined(VMS) || defined(__EMX__) 1621. E void FDECL(hangup, (int)); 1622. #endif 1623. E int NDECL(dosave0); 1624. #ifdef INSURANCE 1625. E void NDECL(savestateinlock); 1626. #endif 1627. #ifdef MFLOPPY 1628. E boolean FDECL(savelev, (int,XCHAR_P,int)); 1629. E boolean FDECL(swapin_file, (int)); 1630. E void NDECL(co_false); 1631. #else 1632. E void FDECL(savelev, (int,XCHAR_P,int)); 1633. #endif 1634. E void FDECL(bufon, (int)); 1635. E void FDECL(bufoff, (int)); 1636. E void FDECL(bflush, (int)); 1637. E void FDECL(bwrite, (int,genericptr_t,unsigned int)); 1638. E void FDECL(bclose, (int)); 1639. E void FDECL(savefruitchn, (int,int)); 1640. E void NDECL(free_dungeons); 1641. E void NDECL(freedynamicdata); 1642. 1643. /* ### shk.c ### */ 1644. 1645. E char *FDECL(shkname, (struct monst *)); 1646. E void FDECL(shkgone, (struct monst *)); 1647. E void FDECL(set_residency, (struct monst *,BOOLEAN_P)); 1648. E void FDECL(replshk, (struct monst *,struct monst *)); 1649. E void FDECL(restshk, (struct monst *,BOOLEAN_P)); 1650. E char FDECL(inside_shop, (XCHAR_P,XCHAR_P)); 1651. E void FDECL(u_left_shop, (char *,BOOLEAN_P)); 1652. E void FDECL(u_entered_shop, (char *)); 1653. E boolean FDECL(same_price, (struct obj *,struct obj *)); 1654. E void NDECL(shopper_financial_report); 1655. E int FDECL(inhishop, (struct monst *)); 1656. E struct monst *FDECL(shop_keeper, (CHAR_P)); 1657. E boolean FDECL(tended_shop, (struct mkroom *)); 1658. E void FDECL(delete_contents, (struct obj *)); 1659. E void FDECL(obfree, (struct obj *,struct obj *)); 1660. E void FDECL(home_shk, (struct monst *,BOOLEAN_P)); 1661. E void FDECL(make_happy_shk, (struct monst *,BOOLEAN_P)); 1662. E void FDECL(hot_pursuit, (struct monst *)); 1663. E void FDECL(make_angry_shk, (struct monst *,XCHAR_P,XCHAR_P)); 1664. E int NDECL(dopay); 1665. E boolean FDECL(paybill, (BOOLEAN_P)); 1666. E void NDECL(finish_paybill); 1667. E struct obj *FDECL(find_oid, (unsigned)); 1668. E long FDECL(contained_cost, (struct obj *,struct monst *,long,BOOLEAN_P)); 1669. E long FDECL(contained_gold, (struct obj *)); 1670. E void FDECL(picked_container, (struct obj *)); 1671. E long FDECL(unpaid_cost, (struct obj *)); 1672. E void FDECL(addtobill, (struct obj *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 1673. E void FDECL(splitbill, (struct obj *,struct obj *)); 1674. E void FDECL(subfrombill, (struct obj *,struct monst *)); 1675. E long FDECL(stolen_value, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P,BOOLEAN_P)); 1676. E void FDECL(sellobj_state, (BOOLEAN_P)); 1677. E void FDECL(sellobj, (struct obj *,XCHAR_P,XCHAR_P)); 1678. E int FDECL(doinvbill, (int)); 1679. E int FDECL(shkcatch, (struct obj *,XCHAR_P,XCHAR_P)); 1680. E void FDECL(add_damage, (XCHAR_P,XCHAR_P,long)); 1681. E int FDECL(repair_damage, (struct monst *,struct damage *,BOOLEAN_P)); 1682. E int FDECL(shk_move, (struct monst *)); 1683. E boolean FDECL(is_fshk, (struct monst *)); 1684. E void FDECL(shopdig, (int)); 1685. E void FDECL(pay_for_damage, (const char *)); 1686. E boolean FDECL(costly_spot, (XCHAR_P,XCHAR_P)); 1687. E struct obj *FDECL(shop_object, (XCHAR_P,XCHAR_P)); 1688. E void FDECL(price_quote, (struct obj *)); 1689. E void FDECL(shk_chat, (struct monst *)); 1690. E void FDECL(check_unpaid_usage, (struct obj *,BOOLEAN_P)); 1691. E void FDECL(check_unpaid, (struct obj *)); 1692. E void FDECL(costly_gold, (XCHAR_P,XCHAR_P,long)); 1693. E boolean FDECL(block_door, (XCHAR_P,XCHAR_P)); 1694. E boolean FDECL(block_entry, (XCHAR_P,XCHAR_P)); 1695. E char *FDECL(shk_your, (char *,struct obj *)); 1696. E char *FDECL(Shk_Your, (char *,struct obj *)); 1697. 1698. /* ### shknam.c ### */ 1699. 1700. E void FDECL(stock_room, (int,struct mkroom *)); 1701. E boolean FDECL(saleable, (struct monst *,struct obj *)); 1702. E int FDECL(get_shop_item, (int)); 1703. 1704. /* ### sit.c ### */ 1705. 1706. E void NDECL(take_gold); 1707. E int NDECL(dosit); 1708. E void NDECL(rndcurse); 1709. E void NDECL(attrcurse); 1710. 1711. /* ### sounds.c ### */ 1712. 1713. E void NDECL(dosounds); 1714. E const char *FDECL(growl_sound, (struct monst *)); 1715. E void FDECL(growl, (struct monst *)); 1716. E void FDECL(yelp, (struct monst *)); 1717. E void FDECL(whimper, (struct monst *)); 1718. E void FDECL(beg, (struct monst *)); 1719. E int NDECL(dotalk); 1720. 1721. 1722. /* ### sys/msdos/sound.c ### */ 1723. 1724. #ifdef MSDOS 1725. E int FDECL(assign_soundcard, (char *)); 1726. #endif 1727. 1728. /* ### sp_lev.c ### */ 1729. 1730. E boolean FDECL(check_room, (xchar *,xchar *,xchar *,xchar *,BOOLEAN_P)); 1731. E boolean FDECL(create_room, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 1732. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1733. E void FDECL(create_secret_door, (struct mkroom *,XCHAR_P)); 1734. E boolean FDECL(dig_corridor, (coord *,coord *,BOOLEAN_P,SCHAR_P,SCHAR_P)); 1735. E void FDECL(fill_room, (struct mkroom *,BOOLEAN_P)); 1736. E boolean FDECL(load_special, (const char *)); 1737. 1738. /* ### spell.c ### */ 1739. 1740. #ifdef USE_TRAMPOLI 1741. E int NDECL(learn); 1742. #endif 1743. E int FDECL(study_book, (struct obj *)); 1744. E void FDECL(book_substitution, (struct obj *,struct obj *)); 1745. E void NDECL(age_spells); 1746. E int NDECL(docast); 1747. E int FDECL(spell_skilltype, (int)); 1748. E int FDECL(spelleffects, (int,BOOLEAN_P)); 1749. E void NDECL(losespells); 1750. E int NDECL(dovspell); 1751. E void FDECL(initialspell, (struct obj *)); 1752. 1753. /* ### steal.c ### */ 1754. 1755. #ifdef USE_TRAMPOLI 1756. E int NDECL(stealarm); 1757. #endif 1758. E long NDECL(somegold); 1759. E void FDECL(stealgold, (struct monst *)); 1760. E void FDECL(remove_worn_item, (struct obj *)); 1761. E int FDECL(steal, (struct monst *)); 1762. E void FDECL(mpickobj, (struct monst *,struct obj *)); 1763. E void FDECL(stealamulet, (struct monst *)); 1764. E void FDECL(relobj, (struct monst *,int,BOOLEAN_P)); 1765. 1766. /* ### steed.c ### */ 1767. 1768. #ifdef STEED 1769. E boolean FDECL(can_saddle, (struct monst *)); 1770. E int FDECL(use_saddle, (struct obj *)); 1771. E boolean FDECL(can_ride, (struct monst *)); 1772. E int NDECL(doride); 1773. E boolean FDECL(mount_steed, (struct monst *, BOOLEAN_P)); 1774. E void NDECL(exercise_steed); 1775. E void NDECL(kick_steed); 1776. E void FDECL(dismount_steed, (int)); 1777. #endif 1778. 1779. /* ### teleport.c ### */ 1780. 1781. E boolean FDECL(goodpos, (int,int,struct monst *)); 1782. E boolean FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *)); 1783. E void FDECL(teleds, (int,int)); 1784. E boolean NDECL(safe_teleds); 1785. E boolean FDECL(teleport_pet, (struct monst *,BOOLEAN_P)); 1786. E void NDECL(tele); 1787. E int NDECL(dotele); 1788. E void NDECL(level_tele); 1789. E void FDECL(domagicportal, (struct trap *)); 1790. E void FDECL(tele_trap, (struct trap *)); 1791. E void FDECL(level_tele_trap, (struct trap *)); 1792. E void FDECL(rloc_to, (struct monst *,int,int)); 1793. E void FDECL(rloc, (struct monst *)); 1794. E boolean FDECL(tele_restrict, (struct monst *)); 1795. E void FDECL(mtele_trap, (struct monst *, struct trap *,int)); 1796. E int FDECL(mlevel_tele_trap, (struct monst *, struct trap *,BOOLEAN_P,int)); 1797. E void FDECL(rloco, (struct obj *)); 1798. E int NDECL(random_teleport_level); 1799. E boolean FDECL(u_teleport_mon, (struct monst *,BOOLEAN_P)); 1800. 1801. /* ### tile.c ### */ 1802. #ifdef USE_TILES 1803. E void FDECL(substitute_tiles, (d_level *)); 1804. #endif 1805. 1806. /* ### timeout.c ### */ 1807. 1808. E void NDECL(burn_away_slime); 1809. E void NDECL(nh_timeout); 1810. E void FDECL(fall_asleep, (int, BOOLEAN_P)); 1811. E void FDECL(attach_egg_hatch_timeout, (struct obj *)); 1812. E void FDECL(attach_fig_transform_timeout, (struct obj *)); 1813. E void FDECL(kill_egg, (struct obj *)); 1814. E void FDECL(hatch_egg, (genericptr_t, long)); 1815. E void FDECL(learn_egg_type, (int)); 1816. E void FDECL(burn_object, (genericptr_t, long)); 1817. E void FDECL(begin_burn, (struct obj *, BOOLEAN_P)); 1818. E void FDECL(end_burn, (struct obj *, BOOLEAN_P)); 1819. E void NDECL(do_storms); 1820. E boolean FDECL(start_timer, (long, SHORT_P, SHORT_P, genericptr_t)); 1821. E long FDECL(stop_timer, (SHORT_P, genericptr_t)); 1822. E void NDECL(run_timers); 1823. E void FDECL(obj_move_timers, (struct obj *, struct obj *)); 1824. E void FDECL(obj_split_timers, (struct obj *, struct obj *)); 1825. E void FDECL(obj_stop_timers, (struct obj *)); 1826. E boolean FDECL(obj_is_local, (struct obj *)); 1827. E void FDECL(save_timers, (int,int,int)); 1828. E void FDECL(restore_timers, (int,int,BOOLEAN_P,long)); 1829. E void FDECL(relink_timers, (BOOLEAN_P)); 1830. #ifdef WIZARD 1831. E int NDECL(wiz_timeout_queue); 1832. E void NDECL(timer_sanity_check); 1833. #endif 1834. 1835. /* ### topten.c ### */ 1836. 1837. E void FDECL(topten, (int)); 1838. E void FDECL(prscore, (int,char **)); 1839. E struct obj *FDECL(tt_oname, (struct obj *)); 1840. 1841. /* ### track.c ### */ 1842. 1843. E void NDECL(initrack); 1844. E void NDECL(settrack); 1845. E coord *FDECL(gettrack, (int,int)); 1846. 1847. /* ### trap.c ### */ 1848. 1849. E boolean FDECL(burnarmor,(struct monst *)); 1850. E boolean FDECL(rust_dmg, (struct obj *,const char *,int,BOOLEAN_P,struct monst *)); 1851. E void FDECL(grease_protect, (struct obj *,const char *,BOOLEAN_P,struct monst *)); 1852. E struct trap *FDECL(maketrap, (int,int,int)); 1853. E void FDECL(fall_through, (BOOLEAN_P)); 1854. E struct monst *FDECL(animate_statue, (struct obj *,XCHAR_P,XCHAR_P,int,int *)); 1855. E struct monst *FDECL(activate_statue_trap, 1856. (struct trap *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 1857. E void FDECL(dotrap, (struct trap *)); 1858. E void FDECL(seetrap, (struct trap *)); 1859. E int FDECL(mintrap, (struct monst *)); 1860. E void FDECL(instapetrify, (const char *)); 1861. E void FDECL(minstapetrify, (struct monst *,BOOLEAN_P)); 1862. E void FDECL(selftouch, (const char *)); 1863. E void FDECL(mselftouch, (struct monst *,const char *,BOOLEAN_P)); 1864. E void NDECL(float_up); 1865. E void FDECL(fill_pit, (int,int)); 1866. E int FDECL(float_down, (long, long)); 1867. E void FDECL(water_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P)); 1868. E boolean NDECL(drown); 1869. E void FDECL(drain_en, (int)); 1870. E int NDECL(dountrap); 1871. E int FDECL(untrap, (BOOLEAN_P)); 1872. E boolean FDECL(chest_trap, (struct obj *,int,BOOLEAN_P)); 1873. E void FDECL(deltrap, (struct trap *)); 1874. E boolean FDECL(delfloortrap, (struct trap *)); 1875. E struct trap *FDECL(t_at, (int,int)); 1876. E void FDECL(b_trapped, (const char *,int)); 1877. E boolean NDECL(unconscious); 1878. E boolean NDECL(lava_effects); 1879. E int FDECL(launch_obj,(SHORT_P,int,int,int,int,int)); 1880. 1881. /* ### u_init.c ### */ 1882. 1883. E void NDECL(u_init); 1884. 1885. /* ### uhitm.c ### */ 1886. 1887. E void FDECL(hurtmarmor,(struct permonst *,struct monst *,int)); 1888. E boolean FDECL(attack_checks, (struct monst *,struct obj *)); 1889. E schar FDECL(find_roll_to_hit, (struct monst *)); 1890. E boolean FDECL(attack, (struct monst *)); 1891. E boolean FDECL(hmon, (struct monst *,struct obj *,int)); 1892. E int FDECL(damageum, (struct monst *,struct attack *)); 1893. E void FDECL(missum, (struct monst *,struct attack *)); 1894. E int FDECL(passive, (struct monst *,BOOLEAN_P,int,UCHAR_P)); 1895. E void FDECL(stumble_onto_mimic, (struct monst *)); 1896. E int FDECL(flash_hits_mon, (struct monst *,struct obj *)); 1897. 1898. /* ### unixmain.c ### */ 1899. 1900. #ifdef UNIX 1901. # ifdef PORT_HELP 1902. E void NDECL(port_help); 1903. # endif 1904. #endif /* UNIX */ 1905. 1906. 1907. /* ### unixtty.c ### */ 1908. 1909. #if defined(UNIX) || defined(__BEOS__) 1910. E void NDECL(gettty); 1911. E void FDECL(settty, (const char *)); 1912. E void NDECL(setftty); 1913. E void NDECL(intron); 1914. E void NDECL(introff); 1915. E void VDECL(error, (const char *,...)) PRINTF_F(1,2); 1916. #endif /* UNIX || __BEOS__ */ 1917. 1918. /* ### unixunix.c ### */ 1919. 1920. #ifdef UNIX 1921. E void FDECL(gethdate, (const char *)); 1922. E void NDECL(getlock); 1923. E void FDECL(regularize, (char *)); 1924. # ifdef SHELL 1925. E int NDECL(dosh); 1926. # endif /* SHELL */ 1927. # if defined(SHELL) || defined(DEF_PAGER) || defined(DEF_MAILREADER) 1928. E int FDECL(child, (int)); 1929. # endif 1930. #endif /* UNIX */ 1931. 1932. /* ### vault.c ### */ 1933. 1934. E boolean FDECL(grddead, (struct monst *)); 1935. E char FDECL(vault_occupied, (char *)); 1936. E void NDECL(invault); 1937. E int FDECL(gd_move, (struct monst *)); 1938. E void NDECL(paygd); 1939. E long NDECL(hidden_gold); 1940. E boolean NDECL(gd_sound); 1941. 1942. /* ### version.c ### */ 1943. 1944. E char *FDECL(getversionstring, (char *)); 1945. E int NDECL(doversion); 1946. E int NDECL(doextversion); 1947. #ifdef MICRO 1948. E boolean FDECL(comp_times, (long)); 1949. #endif 1950. E boolean FDECL(check_version, (struct version_info *, 1951. const char *,BOOLEAN_P)); 1952. E unsigned long FDECL(get_feature_notice_ver, (char *)); 1953. E unsigned long NDECL(get_current_feature_ver); 1954. 1955. /* ### video.c ### */ 1956. 1957. #ifdef MSDOS 1958. E int FDECL(assign_video, (char *)); 1959. # ifdef NO_TERMS 1960. E void NDECL(gr_init); 1961. E void NDECL(gr_finish); 1962. # endif 1963. E void FDECL(tileview,(BOOLEAN_P)); 1964. #endif 1965. #ifdef VIDEOSHADES 1966. E int FDECL(assign_videoshades, (char *)); 1967. E int FDECL(assign_videocolors, (char *)); 1968. #endif 1969. 1970. /* ### vis_tab.c ### */ 1971. 1972. #ifdef VISION_TABLES 1973. E void NDECL(vis_tab_init); 1974. #endif 1975. 1976. /* ### vision.c ### */ 1977. 1978. E void NDECL(vision_init); 1979. E int FDECL(does_block, (int,int,struct rm*)); 1980. E void NDECL(vision_reset); 1981. E void FDECL(vision_recalc, (int)); 1982. E void FDECL(block_point, (int,int)); 1983. E void FDECL(unblock_point, (int,int)); 1984. E boolean FDECL(clear_path, (int,int,int,int)); 1985. E void FDECL(do_clear_area, (int,int,int, 1986. void (*)(int,int,genericptr_t),genericptr_t)); 1987. 1988. #ifdef VMS 1989. 1990. /* ### vmsfiles.c ### */ 1991. 1992. E int FDECL(vms_link, (const char *,const char *)); 1993. E int FDECL(vms_unlink, (const char *)); 1994. E int FDECL(vms_creat, (const char *,unsigned int)); 1995. E int FDECL(vms_open, (const char *,int,unsigned int)); 1996. E boolean FDECL(same_dir, (const char *,const char *)); 1997. E int FDECL(c__translate, (int)); 1998. E char *FDECL(vms_basename, (const char *)); 1999. 2000. /* ### vmsmail.c ### */ 2001. 2002. E unsigned long NDECL(init_broadcast_trapping); 2003. E unsigned long NDECL(enable_broadcast_trapping); 2004. E unsigned long NDECL(disable_broadcast_trapping); 2005. # if 0 2006. E struct mail_info *NDECL(parse_next_broadcast); 2007. # endif /*0*/ 2008. 2009. /* ### vmsmain.c ### */ 2010. 2011. E int FDECL(main, (int, char **)); 2012. # ifdef CHDIR 2013. E void FDECL(chdirx, (const char *,BOOLEAN_P)); 2014. # endif /* CHDIR */ 2015. 2016. /* ### vmsmisc.c ### */ 2017. 2018. E void NDECL(vms_abort); 2019. E void FDECL(vms_exit, (int)); 2020. 2021. /* ### vmstty.c ### */ 2022. 2023. E int NDECL(vms_getchar); 2024. E void NDECL(gettty); 2025. E void FDECL(settty, (const char *)); 2026. E void FDECL(shuttty, (const char *)); 2027. E void NDECL(setftty); 2028. E void NDECL(intron); 2029. E void NDECL(introff); 2030. E void VDECL(error, (const char *,...)) PRINTF_F(1,2); 2031. #ifdef TIMED_DELAY 2032. E void FDECL(msleep, (unsigned)); 2033. #endif 2034. 2035. /* ### vmsunix.c ### */ 2036. 2037. E void FDECL(gethdate, (const char *)); 2038. E void NDECL(getlock); 2039. E void FDECL(regularize, (char *)); 2040. E int NDECL(vms_getuid); 2041. E boolean FDECL(file_is_stmlf, (int)); 2042. E int FDECL(vms_define, (const char *,const char *,int)); 2043. E int FDECL(vms_putenv, (const char *)); 2044. E char *NDECL(verify_termcap); 2045. # if defined(CHDIR) || defined(SHELL) || defined(SECURE) 2046. E void NDECL(privoff); 2047. E void NDECL(privon); 2048. # endif 2049. # ifdef SHELL 2050. E int NDECL(dosh); 2051. # endif 2052. # if defined(SHELL) || defined(MAIL) 2053. E int FDECL(vms_doshell, (const char *,BOOLEAN_P)); 2054. # endif 2055. # ifdef SUSPEND 2056. E int NDECL(dosuspend); 2057. # endif 2058. 2059. #endif /* VMS */ 2060. 2061. /* ### weapon.c ### */ 2062. 2063. E int FDECL(hitval, (struct obj *,struct monst *)); 2064. E int FDECL(dmgval, (struct obj *,struct monst *)); 2065. E struct obj *FDECL(select_rwep, (struct monst *)); 2066. E struct obj *FDECL(select_hwep, (struct monst *)); 2067. E void FDECL(possibly_unwield, (struct monst *)); 2068. E int FDECL(mon_wield_item, (struct monst *)); 2069. E int NDECL(abon); 2070. E int NDECL(dbon); 2071. E int NDECL(enhance_weapon_skill); 2072. E void FDECL(unrestrict_weapon_skill, (int)); 2073. E void FDECL(use_skill, (int,int)); 2074. E void FDECL(add_weapon_skill, (int)); 2075. E void FDECL(lose_weapon_skill, (int)); 2076. E int FDECL(weapon_type, (struct obj *)); 2077. E int FDECL(weapon_hit_bonus, (struct obj *)); 2078. E int FDECL(weapon_dam_bonus, (struct obj *)); 2079. E void FDECL(skill_init, (struct def_skill *)); 2080. 2081. /* ### were.c ### */ 2082. 2083. E void FDECL(were_change, (struct monst *)); 2084. E void FDECL(new_were, (struct monst *)); 2085. E boolean FDECL(were_summon, (struct permonst *,BOOLEAN_P)); 2086. E void NDECL(you_were); 2087. E void FDECL(you_unwere, (BOOLEAN_P)); 2088. 2089. /* ### wield.c ### */ 2090. 2091. E void FDECL(setuwep, (struct obj *)); 2092. E void FDECL(setuqwep, (struct obj *)); 2093. E void FDECL(setuswapwep, (struct obj *)); 2094. E int NDECL(dowield); 2095. E int NDECL(doswapweapon); 2096. E int NDECL(dowieldquiver); 2097. E int NDECL(dotwoweapon); 2098. E int NDECL(can_twoweapon); 2099. E void NDECL(untwoweapon); 2100. E void NDECL(uwepgone); 2101. E void NDECL(uswapwepgone); 2102. E void NDECL(uqwepgone); 2103. E void FDECL(erode_weapon, (struct monst *,BOOLEAN_P)); 2104. E int FDECL(chwepon, (struct obj *,int)); 2105. E int FDECL(welded, (struct obj *)); 2106. E void FDECL(weldmsg, (struct obj *)); 2107. 2108. /* ### windows.c ### */ 2109. 2110. E void FDECL(choose_windows, (const char *)); 2111. E char FDECL(genl_message_menu, (CHAR_P,int,const char *)); 2112. 2113. /* ### wizard.c ### */ 2114. 2115. E void NDECL(amulet); 2116. E int FDECL(mon_has_amulet, (struct monst *)); 2117. E int FDECL(mon_has_special, (struct monst *)); 2118. E int FDECL(tactics, (struct monst *)); 2119. E void NDECL(aggravate); 2120. E void NDECL(clonewiz); 2121. E int NDECL(pick_nasty); 2122. E void FDECL(nasty, (struct monst*)); 2123. E void NDECL(resurrect); 2124. E void NDECL(intervene); 2125. E void NDECL(wizdead); 2126. E void FDECL(cuss, (struct monst *)); 2127. 2128. /* ### worm.c ### */ 2129. 2130. E int NDECL(get_wormno); 2131. E void FDECL(initworm, (struct monst *,int)); 2132. E void FDECL(worm_move, (struct monst *)); 2133. E void FDECL(worm_nomove, (struct monst *)); 2134. E void FDECL(wormgone, (struct monst *)); 2135. E void FDECL(wormhitu, (struct monst *)); 2136. E void FDECL(cutworm, (struct monst *,XCHAR_P,XCHAR_P,struct obj *)); 2137. E void FDECL(see_wsegs, (struct monst *)); 2138. E void FDECL(save_worm, (int,int)); 2139. E void FDECL(rest_worm, (int)); 2140. E void FDECL(place_wsegs, (struct monst *)); 2141. E void FDECL(remove_worm, (struct monst *)); 2142. E void FDECL(place_worm_tail_randomly, (struct monst *,XCHAR_P,XCHAR_P)); 2143. E int FDECL(count_wsegs, (struct monst *)); 2144. E boolean FDECL(worm_known, (struct monst *)); 2145. 2146. /* ### worn.c ### */ 2147. 2148. E void FDECL(setworn, (struct obj *,long)); 2149. E void FDECL(setnotworn, (struct obj *)); 2150. E void FDECL(mon_set_minvis, (struct monst *)); 2151. E void FDECL(mon_adjust_speed, (struct monst *,int)); 2152. E void FDECL(update_mon_intrinsics, (struct monst *,struct obj *,BOOLEAN_P)); 2153. E int FDECL(find_mac, (struct monst *)); 2154. E void FDECL(m_dowear, (struct monst *,BOOLEAN_P)); 2155. E struct obj *FDECL(which_armor, (struct monst *,long)); 2156. E void FDECL(mon_break_armor, (struct monst *)); 2157. 2158. /* ### write.c ### */ 2159. 2160. E int FDECL(dowrite, (struct obj *)); 2161. 2162. /* ### zap.c ### */ 2163. 2164. E int FDECL(bhitm, (struct monst *,struct obj *)); 2165. E void FDECL(probe_monster, (struct monst *)); 2166. E boolean FDECL(get_obj_location, (struct obj *,xchar *,xchar *,int)); 2167. E boolean FDECL(get_mon_location, (struct monst *,xchar *,xchar *,int)); 2168. E struct monst *FDECL(revive, (struct obj *)); 2169. E int FDECL(unturn_dead, (struct monst *)); 2170. E void FDECL(cancel_item, (struct obj *)); 2171. E boolean FDECL(drain_item, (struct obj *)); 2172. E void FDECL(poly_obj, (struct obj *, int)); 2173. E boolean FDECL(obj_resists, (struct obj *,int,int)); 2174. E boolean FDECL(obj_shudders, (struct obj *)); 2175. E void FDECL(do_osshock, (struct obj *)); 2176. E void FDECL(replace_object, (struct obj *, struct obj *)); 2177. E int FDECL(bhito, (struct obj *,struct obj *)); 2178. E int FDECL(bhitpile, (struct obj *,int (*)(OBJ_P,OBJ_P),int,int)); 2179. E int FDECL(zappable, (struct obj *)); 2180. E void FDECL(zapnodir, (struct obj *)); 2181. E int NDECL(dozap); 2182. E int FDECL(zapyourself, (struct obj *,BOOLEAN_P)); 2183. E void FDECL(cancel_monst, (struct monst *,struct obj *, 2184. BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 2185. E void FDECL(weffects, (struct obj *)); 2186. E int NDECL(spell_damage_bonus); 2187. E const char *FDECL(exclam, (int force)); 2188. E void FDECL(hit, (const char *,struct monst *,const char *)); 2189. E void FDECL(miss, (const char *,struct monst *)); 2190. E struct monst *FDECL(bhit, (int,int,int,int,int (*)(MONST_P,OBJ_P), 2191. int (*)(OBJ_P,OBJ_P),struct obj *)); 2192. E struct monst *FDECL(boomhit, (int,int)); 2193. E int FDECL(burn_floor_paper, (int,int,BOOLEAN_P)); 2194. E void FDECL(buzz, (int,int,XCHAR_P,XCHAR_P,int,int)); 2195. E void FDECL(melt_ice, (XCHAR_P,XCHAR_P)); 2196. E int FDECL(zap_over_floor, (XCHAR_P,XCHAR_P,int,boolean *)); 2197. E void FDECL(fracture_rock, (struct obj *)); 2198. E boolean FDECL(break_statue, (struct obj *)); 2199. E void FDECL(destroy_item, (int,int)); 2200. E int FDECL(destroy_mitem, (struct monst *,int,int)); 2201. E int FDECL(resist, (struct monst *,CHAR_P,int,int)); 2202. E void NDECL(makewish); 2203. 2204. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 2205. 2206. #undef E 2207. 2208. #endif /* EXTERN_H */ extern.h